Wenn rsync manchmal verwendet wird, kopiert rsync nicht alle Dateien, unten ist mein Code, den ich benutze. Ist es eine Möglichkeit, eine Prüfsumme zu erstellen oder nach dem rsync zu überprüfen, ob alle Dateien kopiert wurden, und wenn nicht, es erneut zu versuchen, bis alle Dateien kopiert wurden?
%Vor% Ich denke, das wird am besten gelöst, indem rsync
korrekt konfiguriert wird. Lies die man
Seite :) es gibt Optionen (wie --checksum
dafür).
Sie können das auch selbst machen:
find
alle Dateien im Verzeichnis rsync'd. xargs md5sum
, um eine Prüfsumme für alle Dateien zu erhalten md5sum
die Prüfsummen Wenn Sie das auf beiden Seiten tun (lokal / remote), haben Sie eine Prüfsumme, mit der Sie vergleichen können.
Wie in der Antwort von uʍop ǝpısdn angedeutet, kann rsync -c
oder rsync --checksum
tun, was Sie brauchen.
-c, --checksum: Überspringen basierend auf der Prüfsumme, nicht mod-time & amp; Größe
Dies zwingt den Absender zu Prüfsummen jeder regulären Datei mit a 128-Bit-MD4-Prüfsumme. Dies geschieht während des anfänglichen Dateisystems scannen Sie, während die Liste aller verfügbaren Dateien erstellt wird. Der Empfänger Dann checkt die Datei ihre Version jeder Datei (wenn sie existiert und die gleiche Größe wie sein Gegenstück auf der Senderseite), um zu entscheiden, welche Dateien müssen aktualisiert werden: Dateien mit geänderter Größe oder a Geänderte Prüfsumme wird für die Übertragung ausgewählt. Seit dieser ganzen Datei checksumming aller Dateien auf beiden Seiten der Verbindung erfolgt in Zusätzlich zu den automatischen Prüfsummenüberprüfungen, die während einer Dateiübertragung kann diese Option ziemlich langsam sein.
Beachten Sie, dass rsync immer überprüft, dass jede übertragene Datei korrekt auf der empfangende Seite durch Überprüfung seiner gesamten Datei Prüfsumme, aber das Die automatische Überprüfung nach der Übertragung hat nichts damit zu tun Diese Option ist vor der Übertragung "Muss diese Datei aktualisiert werden?" überprüfen.
Die Bedenken, dass dies langsam ist, sind heutzutage wahrscheinlich nicht relevant, und dies scheint eine gute Option zu sein, wenn Sie sich nicht auf Änderungszeiten verlassen können oder wollen.