Як я можу підключитися до свого пристрою Android, щоб синхронізувати музику (чи інші речі)?
Як я можу підключитися до свого пристрою Android, щоб синхронізувати музику (чи інші речі)?
Відповіді:
Простіше, ніж всі кажуть, спершу зауважте, що коли GVFS змонтує кріплення MTP, воно буде доступне під. Ви можете змусити це відкрити телефон у графічному файловому браузері (thunar / nautilus / тощо)
/run/user/$UID/gvfs
заходьте туди. Припустимо, що у вас є один mtp-пристрій, це має працювати:
$ cd /run/user/$UID/gvfs/mtp*
Знайдіть, куди ви також хочете перенести файли, а потім rsync їх до них
$ cd SanDisk\ SD\ card/Movies/
$ pwd # prints "/run/user/1000/gvfs/mtp:host=%5Busb%3A003%2C096%5D/SanDisk SD card/Movies"
$ rsync --verbose --progress --omit-dir-times --no-perms --recursive --inplace ~/Videos/ ./
--inplace
: Я настійно пропоную використовувати, --inplace
без якого mtp може захотіти скопіювати новий файл, а потім перейменувати його на старий. Це може призвести до копіювання файлу на SD-карту двічі: один раз для передачі mtp на SD-карту, а інший раз через те, що драйвер MTP може не підтримувати (mv), він може (cp / rm) під капотом бути безпечним. .--verbose
, --progress
, --recursive
але вони досить самодокументіруемимі.--omit-dir-times
--no-perms
потрібні, оскільки mtp цього не підтримує.--omit-dir-times --no-perms --ignore-existing
. Rsync не вдається встановити часові позначки каталогу через MTP. Я майже впевнений, що "без дозволів" є типовим, але мені подобається його вказувати. Ігнорування існуючих файлів дозволяє йому знаходити там, де він зупинився.
--ignore-existing
? Це просто втрата надмірності. Ви завжди можете --size-only
зменшити синхронізацію зі списком каталогів, а не контрольними сумами. Я збираюся додати, --omit-dir-times
і --no-perms
тому, що це здається корисним, і я, здається, згадую помилку в кінці цього питання.
--ignore-existing
нього намагається синхронізувати всі файли. Мені подобається ваша --size-only
пропозиція. Я спробую це замість наступного разу.
~/Videos/ ./
Я знайшов таке рішення:
Редагуйте локальний ssh-config, щоб змінити порт за замовчуванням для хоста "android"
.ssh/config
host android
Port 2222
rsync -rvlc Музика андроїд: SDCardLink /
Оновлення
Я вважаю за -rvlc
краще, -a
оскільки ви отримуєте багато попереджень, оскільки встановлення дозволів та позначок часу не працює. Ця опція -c
робить другу синхронізацію набагато швидшою.
Я вважаю за -rvl --size-only
краще, -a
оскільки ви отримуєте багато попереджень, оскільки встановлення дозволів та позначок часу не працює. Ця опція --size-only
робить другу синхронізацію набагато швидшою.
На жаль, для перегляду нових файлів музичним додаткам потрібен певний час. Перезапуск пристрою допомагає.
rsync -avz -e 'ssh -p 2222' Music android:SDCardLink/
( stackoverflow.com/a/4630407/399105 )
--size-only
було б найшвидшим рішенням. Однак це не так врятувати, як-c
192.168.1.5
який може бути різним кожен раз:rsync -avzhP --inplace --info=progress2 -e 'ssh -p 2222' 192.168.1.5:/storage/emulated/0/DCIM/Camera/ /home/username/path/to/pics/
Резервне копіювання rsync для Android може бути налаштоване на синхронізацію в зворотному режимі, тобто з хоста Linux на пристрій Android.
І за допомогою LlamaLab Automate можна налаштувати пристрій Android для автоматичного y синхронізації за конкретних умов, наприклад: