Как я могу подключиться к своему устройству Android для музыки rsync (или другого материала)?
Как я могу подключиться к своему устройству Android для музыки rsync (или другого материала)?
Ответы:
Проще, чем все говорят, сначала обратите внимание, что когда GVFS монтирует монтирование MTP, оно будет доступно в разделе. Вы можете форсировать это, открыв телефон в графическом файловом браузере (thunar / nautilus / etc)
/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. Я уверен, что по умолчанию используется «no permissions», но мне нравится его указывать. Игнорирование существующих файлов позволяет подобрать то, где остановился.
--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 Музыка для Android: 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 для автоматической rsync при определенных условиях, например: