Ich habe die rsync-Übertragung für eine große Datei abgebrochen (Strg+c); Wird es abgeholt, wenn ich neu anfange?

Ich übertrage etwa 5 TB Daten von einem angegriffenen Drobo auf einen Mac Mini mit macOS Sierra auf ein NAS (FreeNAS). Hier ist der Befehl, den ich verwende:

sudo rsync -a --stats --progress "/Quelle" "/Ziel"

Unnötig zu erwähnen, dass es Tage dauert, selbst über ein 1-GB-Netzwerk. Unterwegs musste ich die Übertragung aufgrund von Serverproblemen stoppen. Ich erinnere mich, dass der rsync-Prozess explizit mit control+ gestoppt wurde c, während eine virtuelle Parallels-Festplattendatei mit etwa 500 GB übertragen wurde. Ich habe den Prozess später mit dem obigen Befehl erneut gestartet, aber ich habe nicht notiert, bei welcher Parallels VM-Datei er angehalten wurde, und ich möchte sicherstellen, dass der von mir verwendete Befehl diese Datei abholt, obwohl ich den Befehl in der ersten Runde abgebrochen habe.

Wenn ich den obigen rsync-Befehl abbreche, werden In-Flight-Dateien einfach gelöscht, und wenn ich den obigen Befehl erneut ausführe, werden diese Dateien als neue Dateien angezeigt, die nie übertragen wurden?

Ich habe noch nie gesehen, dass rsync Teilkopien erstellt und genau dort weitermacht, wo es aufgehört hat. Ich würde antworten, außer dass ich Drobo und seine Dateisystem-Interna nicht kenne. Da es auf macOS gemountet ist und dort rsync läuft, sollte es Ihnen gut gehen, da Freenas einen guten Ruf für anständige rsync-Unterstützung hat.

Antworten (2)

Wenn Sie die --partialOption verwenden, wird die teilweise übertragene Datei beibehalten und nachfolgende Übertragungen sollten viel schneller sein. Es ist wahrscheinlich eine gute Idee, es im Allgemeinen bei großen Dateiübertragungen zu verwenden.

Danke für die Antwort. --partialDa ich anfangs nicht verwendet habe , wissen Sie, was ich tun muss, um sicherzustellen, dass alle unvollständigen Dateien kopiert werden?
Es räumt normalerweise nach sich selbst auf, daher sollten keine Daten vorhanden sein, mit denen die Übertragung fortgesetzt werden könnte, wenn Sie ihm nicht mit dem Flag gesagt hätten, die bereits übertragenen Daten dort zu belassen, wo sie waren --partial.

rsync startet die Übertragung jeder Datei oder jedes Teils, indem es eine temporäre Datei mit einem seltsamen Dateinamen erstellt. Wenn Sie --delete verwenden, wird der nächste Lauf feststellen, dass sich die temporäre Datei nicht in der Quelle befindet, und sie entfernen. Da Sie dies nicht getan haben, sind die temporäre Datei und die alte Datei immer noch vorhanden (weil Sie unterbrochen haben, bevor die temporäre Version die alte Version ersetzt hat), und daher wird das Update erneut gestartet, ohne den vorherigen Teil zu entfernen.

Ich war überrascht, dass rsync schneller als cp ist, wenn beide Festplatten auf derselben CPU gemountet sind.