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, --inplace
ohne 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
, --recursive
aber 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-only
die Synchronisation auf die Verzeichnisliste reduzieren und nicht die Prüfsummen. Ich werde das --omit-dir-times
und hinzufügen, --no-perms
weil das nützlich klingt, und ich erinnere mich an einen Fehler am Ende.
--ignore-existing
es zu versuchen, alle Dateien zu synchronisieren. Ich mag deinen --size-only
Vorschlag. 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
, -a
da Sie viele Warnungen erhalten, da das Festlegen von Berechtigungen und Zeitstempeln nicht funktioniert. Diese Option -c
beschleunigt die zweite Synchronisierung erheblich.
Ich bevorzuge -rvl --size-only
, -a
da Sie viele Warnungen erhalten, da das Festlegen von Berechtigungen und Zeitstempeln nicht funktioniert. Diese Option --size-only
beschleunigt 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-only
wäre die schnellste Lösung. Allerdings ist es nicht so speichern , wie-c
192.168.1.5
Adresse 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: