LinuxでAndroidとデータ転送を行う
今回はLinuxでAndroidをUSB接続してデータ転送(差分バックアップ)を行います。
準備するもの
- Andriod端末 (今回はXiaomi 13T Proを使用します)
- Linuxマシン (今回はUbuntuを使用します)
- USBケーブル
/etc/os-release
PRETTY_NAME="Ubuntu 22.04.4 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.4 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
スペック
接続方法
- 1.USBでマシンと接続してください
- 2.Android端末上で
ファイル転送 / Android Auto
を選択する
- 3.好きなアプリケーションで操作する
ここで、どこのディレクトリにマウントされているのか確認する必要があります。
nautilus
でデバイスを認識しているはずです。そこから右クリックで端末を開く
をすればそのディレクトリでTerminalを開くことが出来ます。
実際にターミナルでのpathは以下になりました。これは環境や端末によって変化します。あくまで一例です。
ファイルのパーミッションは自分の環境では以下の出力になりました。
ls -l
haruki-goto /run/user/1000/gvfs/mtp:host=Xiaomi_Xiaomi_13T_Pro_GMCAYLV46HCQIJ59/内部共有ストレージ[0] > ll
合計 0
drwx------ 1 haruki-goto haruki-goto 0 9月 22 2023 Alarms
drwx------ 1 haruki-goto haruki-goto 0 9月 22 2023 Android
drwx------ 1 haruki-goto haruki-goto 0 9月 22 2023 Audiobooks
drwx------ 1 haruki-goto haruki-goto 0 5月 1 22:26 DCIM
drwx------ 1 haruki-goto haruki-goto 0 6月 21 12:54 Documents
drwx------ 1 haruki-goto haruki-goto 0 6月 20 13:38 Download
drwx------ 1 haruki-goto haruki-goto 0 4月 13 20:39 MIUI
drwx------ 1 haruki-goto haruki-goto 0 6月 5 19:05 Movies
drwx------ 1 haruki-goto haruki-goto 0 4月 16 13:22 Music
drwx------ 1 haruki-goto haruki-goto 0 4月 14 12:59 Notifications
drwx------ 1 haruki-goto haruki-goto 0 6月 17 11:58 Pictures
drwx------ 1 haruki-goto haruki-goto 0 9月 22 2023 Recordings
drwx------ 1 haruki-goto haruki-goto 0 9月 22 2023 Ringtones
差分バックアップ
rsync
を使って更新された分だけコピーします。
--dry-run
オプションをつけることで、送信されるファイルが出力されるので差分バックアップになっているかまずはこのオプションで試すことをおすすめします。
Terminal
rsync -auv --progress DCIM/ ~/DCIM --dry-run
rsync --dry-runの出力
- 以下で送信されるファイル一覧を取得できます。送信前に確認しておきましょう
Terminal
rsync --info=PROGRESS2 -au ./DCIM/ /mnt/E2A4D31BA4D2F0D1/DCIM --dry-run -v
sending incremental file list
./
Camera/.trashed-1721362612-IMG_20240619_131637.jpg
Camera/.trashed-1721363506-IMG_20240619_133051.jpg
Camera/.trashed-1721363510-IMG_20240619_130521.jpg
Camera/.trashed-1721364044-IMG_20240619_134038.jpg
Camera/.trashed-1721450514-IMG_20240620_133943.jpg
Camera/.trashed-1721450525-IMG_20240620_134159.jpg
Camera/IMG_20240617_131432.jpg
Camera/IMG_20240617_131438.jpg
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Screenshots/Screenshot_2024-06-21-09-14-21-831_com.google.android.gm.jpg
Screenshots/Screenshot_2024-06-21-17-14-33-141_com.android.settings.jpg
23,645,443,205 33% 22021.54GB/s 0:00:00 (xfr#169, to-chk=0/2173)
sent 66,067 bytes received 6,552 bytes 3,090.17 bytes/sec
total size is 70,365,426,119 speedup is 968,967.16 (DRY RUN)
- 差分バックアップ
rsync --info=PROGRESS2 -au ./DCIM/ /DCIM
2,843,302,063 4% 10.17MB/s 1:48:06 xfr#132, to chk=(352/2173)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sent 1,090,678,523 bytes received 3,080 bytes 15,254,288.15 bytes/sec
total size is 64,147,123,048 speedup is 58.81
-v
オプションをつけるとファイルごとの詳細が確認できますが、全体の進捗を確認したい場合には--info=PROGRESS2
オプションを追加して下さい。多少時間がかかっても正確に進捗がを出力してくれます。
- 転送を停止, 再開
停止はCtrl + C
で停止すればOKです。再開も同じコマンドを打つだけで差分バックアップなのですでに転送済みのファイルは転送されないので非常に便利です。
これで差分バックアップができました。
お疲れ様でした。
トラブルシューティング
- そもそも認識しているかを確認してください。
haruki-goto ~[0] > lsusb
Bus 008 Device 002: ID 13fd:5912 Initio Corporation External
Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 002: ID 13fd:5912 Initio Corporation External
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 002: ID 046d:0825 Logitech, Inc. Webcam C270
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 006: ID 048d:5702 Integrated Technology Express, Inc. ITE Device
Bus 001 Device 007: ID 046d:08e5 Logitech, Inc. HD Pro Webcam C920
Bus 001 Device 005: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 004: ID 2357:0604 TP-Link TP-Link UB500 Adapter
Bus 001 Device 003: ID 0416:b23c Winbond Electronics Corp. PCMK TKL
Bus 001 Device 002: ID 056e:013b Elecom Co., Ltd ELECOM OpticalMouse
+ Bus 001 Device 009: ID 2717:ff40 Xiaomi Inc. Mi/Redmi series (MTP)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
- デバイスで信頼するかどうかを尋ねられたら必ず信頼するを選択してください。
- デバイスがロックされていると転送できない端末の場合はロックされないように注意してください。(Xiaomi 13T Proはロック中でもOKでした)
以上です。質問等あればコメントでお願いします。