Wie kann ich eine Verbindung zu meinem Android-Gerät herstellen, um Musik (oder andere Dinge) zu synchronisieren?
Wie kann ich eine Verbindung zu meinem Android-Gerät herstellen, um Musik (oder andere Dinge) zu synchronisieren?
Antworten:
Es ist einfacher, als alle sagen. Beachten Sie zunächst, dass GVFS beim Mounten des MTP-Mount unter verfügbar ist. Sie können dies erzwingen, indem Sie das Telefon in einem grafischen Dateibrowser (thunar / nautilus / etc) öffnen.
/run/user/$UID/gvfs
geh da rein. Vorausgesetzt, Sie haben ein MTP-Gerät, sollte dies funktionieren:
$ cd /run/user/$UID/gvfs/mtp*
Finden Sie, wohin Sie die Dateien auch übertragen möchten, und synchronisieren Sie sie anschließend
$ 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: Ich empfehle dringend die Verwendung, --inplaceohne die mtp die Datei neu kopieren und dann in die alte umbenennen möchte. Das kann dazu führen, dass die Datei zweimal auf die SD-Karte kopiert wird: einmal für die MTP-Übertragung auf die SD-Karte und ein anderes Mal, weil der MTP-Treiber möglicherweise (mv) nicht unterstützt, kann es sicherheitshalber (cp / rm) sein .--verbose, --progress, --recursiveaber sie sind ziemlich selbsterklärend.--omit-dir-times --no-perms werden benötigt, weil mtp das nicht unterstützt.--omit-dir-times --no-perms --ignore-existing. Rsync kann Verzeichnis-Zeitstempel nicht über MTP setzen. Ich bin mir ziemlich sicher, dass "keine Berechtigungen" die Standardeinstellung ist, aber ich möchte es angeben. Das Ignorieren vorhandener Dateien ermöglicht es, dort fortzufahren, wo es aufgehört hat.
--ignore-existing? Das ist nur Redundanz zu verlieren. Du könntest immer --size-onlydie Synchronisation auf die Verzeichnisliste reduzieren und nicht die Prüfsummen. Ich werde das --omit-dir-timesund hinzufügen, --no-permsweil das nützlich klingt, und ich erinnere mich an einen Fehler am Ende.
--ignore-existinges zu versuchen, alle Dateien zu synchronisieren. Ich mag deinen --size-onlyVorschlag. Ich werde es beim nächsten Mal versuchen.
~/Videos/ ./
Ich habe diese Lösung gefunden:
Bearbeiten Sie die lokale ssh-config, um den Standard-Port für den Host "android" zu ändern.
.ssh/config
host android
Port 2222
rsync -rvlc Musik android: SDCardLink /
Aktualisieren
Ich bevorzuge -rvlc, -ada Sie viele Warnungen erhalten, da das Festlegen von Berechtigungen und Zeitstempeln nicht funktioniert. Diese Option -cbeschleunigt die zweite Synchronisierung erheblich.
Ich bevorzuge -rvl --size-only, -ada Sie viele Warnungen erhalten, da das Festlegen von Berechtigungen und Zeitstempeln nicht funktioniert. Diese Option --size-onlybeschleunigt die zweite Synchronisierung erheblich.
Leider dauert es einige Zeit, bis Musik-Apps die neuen Dateien sehen. Ein Neustart des Geräts hilft.
rsync -avz -e 'ssh -p 2222' Music android:SDCardLink/( stackoverflow.com/a/4630407/399105 )
--size-onlywäre die schnellste Lösung. Allerdings ist es nicht so speichern , wie-c
192.168.1.5Adresse jedes Mal anders angezeigt wird:rsync -avzhP --inplace --info=progress2 -e 'ssh -p 2222' 192.168.1.5:/storage/emulated/0/DCIM/Camera/ /home/username/path/to/pics/
Das rsync-Backup für Android kann so konfiguriert werden, dass es umgekehrt synchronisiert wird, dh von einem Linux-Host auf ein Android-Gerät.
Und mit der Hilfe von LlamaLab Automate kann man das Android-Gerät so konfigurieren, dass es unter bestimmten Bedingungen automatisch synchronisiert wird , zB: