Rsync для установленного MTP Android не работает

Я пытался синхронизировать ogg-audio-файлы с моим устройством Android следующим образом:

rsync -av piano /run/user/1000/gvfs/mtp\:host\=%5Busb%3A002%2C005%5D/SanDisk/Music/

===> rsync -av piano/ /run/user/1000/gvfs/mtp:host=%5Busb%3A002%2C007%5D/SanDisk/Music/
sending incremental file list
rsync: failed to set times on "/run/user/1000/gvfs/mtp:host=%5Busb%3A002%2C007%5D/SanDisk/Music/.": Operation not supported (95)
...
foo-bar/one.ogg
...
rsync: mkstemp "/run/user/1000/gvfs/mtp:host=%5Busb%3A002%2C007%5D/SanDisk/Music/foo-bar/one.ogg.0gzy9t" failed: Operation not supported (95)

Но только каталог был создан. Файл не был передан:

===> find /run/user/1000/gvfs/mtp:host=%5Busb%3A002%2C007%5D/SanDisk/Music/piano

/run/user/1000/gvfs/mtp:host=%5Busb%3A002%2C007%5D/SanDisk/Music/piano/foo-bar

Как выполнить rsync между моим устройством Android и моим ПК с Ubuntu?

Я нашел обходной путь: я отключил карту micro-SC от устройства Android и вставил его в устройство чтения SD-карт моего ноутбука. Но решение, где мне не нужно это делать, было бы неплохо.

4
задан 11 August 2019 в 15:36

3 ответа

Для нескольких простых решений можно попробовать один из них:

  1. (Мое предпочтительное) Установка FTP-сервер по Вашему телефону, затем используйте программу GUI (как Filezilla) для передачи файлов. Я получаю последовательно хорошие скорости передачи (6M +) на 2.4G сеть.
  2. Используйте сервис как AirDroid. Это не является большим с большими файлами (4G +), но это является большим с меньшими. Бесплатная версия только позволяет 200M/month, все же.
0
ответ дан 17 November 2019 в 06:00

Не уверенный, если Вам нужно сделанное рутинг устройство для этого (я только выполняю базированный LineageOS и не знаком с другими ароматами). В LineageOS/system/xbin/rsync существует по умолчанию, еще, подключите свой телефон к Вашему ПК и запустите терминал и выполните все команды ниже в терминале ПК:

sudo apt install wget adb
wget -O rsync.bin http://github.com/pts/rsyncbin/raw/master/rsync.rsync4android
adb push rsync.bin /data/local/tmp/rsync
adb shell chmod 755 /data/local/tmp/rsync
adb shell cp /data/local/tmp/rsync /sdcard/rsync.bin
adb shell /data/local/tmp/rsync --version
  • создайте конфигурационный файл
adb shell 'exec >/sdcard/rsyncd.conf && echo gid = 0 && echo uid = 0 && echo address = 127.0.0.1 && echo port = 1873 && echo "[root]" && echo path = / && echo use chroot = false && echo read only = false'
  • запустите rsync демона на устройстве
# on regular Android
adb shell /data/local/tmp/rsync --daemon --no-detach --config=/sdcard/rsyncd.conf --log-file=/proc/self/fd/2
# on LineageOS
adb shell rsync --daemon --no-detach --config=/sdcard/rsyncd.conf --log-file=/proc/self/fd/2
  • на другом окне оболочки, передаче начального порта
adb forward tcp:6010 tcp:1873
  • счастливое копирование
rsync -av --progress --stats --partial rsync://localhost:6010/root/sdcard/DCIM .
0
ответ дан 17 November 2019 в 06:00

Сегодня я также обновил музыку на своем телефоне. Я мог бегать

 rsync -vrih --omit-dir-times --no-perms piano /run/user/1000/gvfs/mtp\:host\=%5Busb%3A002%2C005%5D/SanDisk/Music/

, и это работало медленно.


Есть другой вариант - inplace , чтобы ускорить работу, но я получил Операция не поддерживается (95) тоже ошибки.

0
ответ дан 28 November 2019 в 00:02

Другие вопросы по тегам:

Похожие вопросы: