
Was ist der Schalter oder die Option des rsync-Befehls, um die Sicherung beschädigter Dateien zu überspringen, sodass gute Dateien nicht überschrieben werden?
Antwort1
Die Aufgabe von Rsync besteht darin, Spiegel von Dateien zu erstellen und zu synchronisieren, mit allen möglichen Fehlern. Es gibt keine Optionen fürVielleichtkeine Datei synchronisieren.
Die einzige Ausnahme ist, dass die Löschung abgelehnt wirdbeliebigDateien, wenn E/A-Fehler den Verdacht erwecken, dass auch nur eine Datei nur vorübergehend fehlt. Dies ist jedoch standardmäßig aktiviert, sodass Sie nichts tun müssen. (Sie können die Ausfallsicherung mit deaktivieren --ignore-errors
.)
Rsync akzeptiert jedoch eine Option --files-from=FILE
, bei der FILE
es möglich ist -
, die Namen in stdin umzuleiten. Sie können daher Ihre eigenen Überprüfungen auf Beschädigungen durchführen und nur die guten Dateien zum Spiegeln in Rsync umleiten.
Achtung: --files-from=
impliziert verschiedene nicht unbedingt offensichtliche Verhaltensänderungen, daher sollten Sie die Dokumentation sorgfältig lesen. Sie können auch nicht verwenden, --delete
da rsync nicht zwischen Dateien unterscheiden kann, die nicht mehr existieren, und Dateien, die Sie nicht auflisten wollten, weil sie beschädigt sind. Sie müssen auch auf Leerzeichen in Dateinamen achten, also lesen Sie --from0
.