Ich verwende den Befehl rsync, um Dateien von einem Ubuntu-Server auf einen anderen Ubuntu-Computer zu sichern. Der Sicherungsserver löst ein Skript aus, das den Befehl rysnc verwendet. Hier ist der Befehl, den ich benutze
rsync -rltvh --partial --stats --exclude = .beagle / --exclude =. * --delete-after root @ live_server: / home / / home / live_server_backup / home >> /tmp/logfile.log 2> & 1
live_server ist ohne Passwort ssh-fähig. So funktioniert es. Jetzt liegt das Problem bei
--Delete-After-Option
Nachdem alle Dateien synchronisiert wurden. Am Ende kann ich sehen, wie der Löschvorgang übersprungen wird
E / A-Fehler aufgetreten - Löschen der Datei wird übersprungen
Als ich versuchte, Log zu finden, gab es einen Fehler bei der Dateisynchronisation
rsync: send_files konnte "/home/xyz/Desktop/PPT_session_1_context.pdf" nicht öffnen: Berechtigung verweigert (13)
Mein Verständnis ist also, dass rsync aus Sicherheitsgründen nicht alle Dateien vom Ziel lesen konnte und das Löschen der Dateien überspringt.
Gibt es eine Möglichkeit, --delete-after work auszuführen, selbst wenn ein Berechtigungsfehler vorliegt? Ich möchte keine Löschung erzwingen, da dies in bestimmten Situationen gefährlich sein kann.
quelle
Antworten:
Zusätzlicher Hinweis zu diesem Problem:
vanished file
sollte die Bedingung nicht auslösenIO error encountered -- skipping file deletion
, dies geschieht jedoch häufig, wenn Sie eine Sicherung eines Live-Systems erstellen.Dies wird durch den rsync-Fehler # 7809 ( https://bugzilla.samba.org/show_bug.cgi?id=7809 ) abgedeckt und sollte in der kommenden Version 3.1.0 behoben werden.
In der Zwischenzeit verwenden:
quelle
Aus der rsync-Manpage:
Damit wird Ihr Problem behoben.
quelle
Sie sollten eine Ausschlussdatei
rsync
verwenden, damit die nicht lesbaren Dateien ignoriert werden. Die Liste kann mitfind . -exec test -r '{}'
im Quellverzeichnis erzeugt und dann in das gewünschte Ausschlussdateiformat massiert werdenrsync
.quelle