ストレージ容量の少ない Android スマホを使っていると頻繁に写真や動画データをバックアップしなければならなくなるのですが、バックアップ中に起こりがちなのがバックアップ中の切断。おま環かもしれないですが、物理的には接続されているのにコピー中にビジー状態となって勝手に切断されたり、何らかの理由でコピーに失敗することが多いです。
今回の方針
adb (Android Debug Bridge) を使ってコピーさせてみます。自分の環境では adb であれば数十 GB 程度のコピーでも安定して実行できました。
実行環境
- スマートフォン
- Pixel 7 128GB
- Android 16
- バックアップ先
- Raspberry Pi 5
- Ubuntu 24.04.3 LTS
- Linux 6.8.0
- adb: Android Debug Bridge version 1.0.41
手順
Android デバイス側:USB デバッグを ON にする
Android デバイスの「設定」→「システム」→「開発者向けオプション」で
- 「開発者向けオプションを使用」
- 「USB デバッグ」
を ON にします。

「USB デバッグを許可しますか?」と聞かれたら「許可」をタップします。

バックアップ先:準備
まずは adb をインストール。
sudo apt install adb
インストールできたら Android デバイスをバックアップ先端末(Linux)に接続します。
バックアップ先:デバイス探索
adb devices -l でデバイスの ID を取得します。(念のため一部隠してます)
$ adb devices -l
* daemon not running; starting now at tcp:5037
* daemon started successfully
List of devices attached
29051■■■■■■766 unauthorized usb:4-2 transport_id:1
バックアップ先:コピー
ファイルコピーは次のようなコマンドで実行できます。
$DEVICE_ID は上記で得た Android デバイスのデバイス ID、$SRC は Android デバイス上のコピー元ディレクトリ、$DST はバックアップ先のコピー先ディレクトリです。
adb -s "$DEVICE_ID" pull "$SRC" "$DST"
コピー元ディレクトリは端末によりますが、自分の端末(Pixel7)の場合は写真の保存先は /sdcard/DCIM/Camera でした。
するとディレクトリ内の全ファイルのコピーが始まります。
$ adb -s 29051■■■■■■766 pull /sdcard/DCIM/Camera /home/ytani/backup/pictures/pixel7
[ 0%] /sdcard/DCIM/Camera/PXL_20260321_234739537.jpg: 7%
コピーが終わったら忘れずに USB デバッグモードを OFF にしましょう。
おまけ:コピー自動化スクリプト
デバイス ID 取得からコピーまでを自動化したスクリプトを作成しました。
# !/bin/bash
# usage: ./copy_with_dst.sh ${SRC} ${DST}
set -euo pipefail
SRC=$1
DST=$2
if [[ -z "${SRC}" ]]; then
echo "[ERROR] Please set SRC dir"
exit 1
fi
if [[ -z "${DST}" ]]; then
echo "[ERROR] Please set DST dir"
exit 1
fi
echo "[*] Detecting adb device..."
DEVICE_ID=$(adb devices -l | awk '
NR>1 && $2=="device" && $1 !~ /^emulator/ { print $1; exit }
')
if [[ -z "${DEVICE_ID}" ]]; then
echo "[ERROR] No usable adb device found."
adb devices -l
exit 1
fi
echo "[OK] Using device: $DEVICE_ID"
echo "[*] Creating destination directory:"
echo " $DST"
mkdir -p "$DST"
echo "[*] Copying files..."
adb -s "$DEVICE_ID" pull "$SRC" "$DST"
echo "[OK] Copy completed successfully."
使い方:第1引数にコピー元、第2引数にコピー先を指定してください。
$ ./copy_with_dst.sh /sdcard/DCIM/Camera /home/ytani/backup/pictures/pixel7
[*] Detecting adb device...
[OK] Using device: 29051■■■■■■766
[*] Creating destination directory:
.
[*] Copying files...
[ 0%] /sdcard/DCIM/Camera/PXL_20260320_102006823.jpg: 2%