Ich kann Ordner mit synchronisieren rsync -avz /directory /target
, jetzt möchte ich es tun, wenn ich eine Datei darin geändert habe, /directory
damit rsync
sie automatisch aufgerufen werden soll.
Ich verwende Virtual Box und der freigegebene Ordner von Virtual Box ist sehr langsam, besonders wenn Sie eine Webseite haben, die den freigegebenen Ordner als Dokumentenstamm verwendet. Mit rsync
würde ich in der Lage sein, mit meinen lokalen Akten auf freigegebenem Faltblatt zu arbeiten und es automatisch mit Dokumentenstamm zu synchronisieren.
Ich hoffe, jemand hat eine Idee, wie das geht, crontab
wäre nicht gut, da es alle x Minuten ausgeführt wird. Wenn ich also nichts tue, wird es immer noch aufgerufen, rsync
aber nicht, wenn ich meine Datei geändert habe.
Freundliche Grüße
quelle
inotifywait
Lösung hat einen kleinen, aber wichtigen Nachteil: Sie erkennt keine Änderungen, die während derrsync
Ausführung aufgetreten sind. Stellen Sie sich die folgende Situation vor: Datei A wird geändert; rsync wird ausgelöst; Wenn die Synchronisierung von Datei A fast abgeschlossen ist , wird Datei B geändert. Jetztrsync
fertig undinotifywait
läuft, aber Datei B ist nicht synchronisiert und wird erst nach einer nächsten Änderung synchronisiert. Erwägen Sie die Verwendung,lsyncd
wie von @Arigion vorgeschlagen.Sie könnten Lsyncd (Live Syncing Daemon) verwenden :
Hier ist zum Beispiel ein Tutorial für Ubuntu 16.04 .
quelle
Sie können
inotifywait
und verwendenrsync
.inotifywait
mit dem Ereignismodify,create,delete
aktiviert. Auf diese Weise werden Sie nur dann mit Ihrem Server synchronisiert, wenn sich die Datei ändert. Andernfalls wird die Synchronisierung immer dann durchgeführt, wenn eine Datei gelesen wird. So heißt es:quelle
lsyncd
Erwägen Sie die Verwendung, wie von @Arigion vorgeschlagen.Erweitern eines Kommentars zur akzeptierten Antwort Ich hatte Erfolg damit, fswatch zu verwenden, um eine
scp
der geänderten Dateien für den Gast auszulösen . Unter Linux ist dies ein Wrapper,inotify
aber es ist auch plattformübergreifend (ich habe einen Mac mit einem QEMU-Gast, der auf Arm basiert). Ich habe auch einenssh
Remote-Build angepackt . Der Push-Ansatz eignet sich gut für Aktien, die sich nicht optimal verhalten.quelle