Ich mache eine Synchronisation zwischen einem lokalen und einem entfernten Ordner. Es ist passiert, dass ich eine Datei durch einen dummen Befehl verloren habe.
Ich bin es gewohnt, vor der eigentlichen Dateiübertragung zu vereinheitlichen und zu bestätigen, wie Sie bestätigen ("go?").
Gibt es eine solche Option mit rsync? (keine Übereinstimmung auf der Serverseite)
Vielen Dank!
Sie können die Option -n mit rsync verwenden, um einen Trockenlauf durchzuführen. rsync teilt Ihnen mit, welche Vorgänge es ausgeführt hätte, ohne sie tatsächlich auszuführen. Wenn Sie mit den Ergebnissen zufrieden sind, führen Sie sie ohne die Option -n erneut aus.
quelle
Mit der Option --backup können Sie rsync zum Sichern von Dateien beim Überschreiben ausführen.
Nach dem Ausführen von rsync können Sie das Sicherungsverzeichnis nach Dateien durchsuchen und nacheinander fragen, ob es wiederhergestellt werden muss.
quelle
Leider gibt es zum Zeitpunkt des Schreibens keine eingebaute Methode in Rsync.
Die Lösung von Mike Fitzpatrick funktioniert einwandfrei. Wenn Sie jedoch einen sehr großen Verzeichnisbaum haben, möchten Sie möglicherweise etwas tun, bei dem rsync nicht alle Dateien erneut durchläuft
BEARBEITEN: Es gibt auch einen Fehler, bei dem eine Zieldatei nicht gelöscht wird. Je mehr ich sie mir anschaue, desto mehr ist diese Lösung kaputt. Ich lasse sie offen, weil sie in Ihrem Fall möglicherweise funktioniert und auch, wenn jemand dies wünscht etwas reparieren. Außerdem sollte jemand eine formelle Funktionsanforderung an https://bugzilla.samba.org/enter_bug.cgi?product=rsync senden
Ich habe dieses Skript geschrieben:
Versuchen Sie, das Skript in eine Datei mit dem Namen einzufügen
rsync-confirm.bash
Dann
chmod +x rsync-confirm.bash
Dann
./rsync-confirm.bash -rvh /etc/ /tmp/etc/
Dieses Skript ist möglicherweise ein wenig fehlerhaft. Ich habe festgestellt, dass es nicht wirklich gefällt, wenn das Quellverzeichnis keinen abschließenden Schrägstrich enthält.
quelle