Um eine unterbrochene Kopie fortzusetzen, sollten Sie rsync --append
verwenden . Aus der Erklärung der Manpage zu --append
:
Dies bewirkt, dass rsync eine Datei aktualisiert, indem es Daten an das Ende der Datei anhängt, wasvoraussetzt, dass die bereits auf der Empfängerseite vorhandenen Daten mit dem Anfang der Datei auf der Senderseite identisch sind. [...] Impliziert --inplace
, [...]
Option --inplace
macht rsync
(über)schreiben Sie den Inhalt der Zieldatei direkt; ohne --inplace
, rsync
würde:
- erstellen Sie eine neue Datei mit einem temporären Namen,
- aktualisierten Inhalt hineinkopieren,
- mit der Zieldatei austauschen und schließlich
- Löschen Sie die alte Kopie der Zieldatei.
Der normale Betriebsmodus verhindert hauptsächlich Konflikte mit Anwendungen, die möglicherweise die Zieldatei geöffnet haben, und einige andere Pannen, die ordnungsgemäß in rsync
aufgeführt sind Handbuchseite.
Beachten Sie, dass, wenn ein Kopier-/Aktualisierungsvorgang in den Schritten 1.-3. oben,rsync
löscht die temporäre Zieldatei; die --partial
Option deaktiviert dieses Verhalten und rsync
belässt teilweise übertragene temporäre Dateien auf dem Zieldateisystem. Daher bringt das Fortsetzen einer einzelnen Dateikopieroperation nicht viel, es sei denn, Sie haben den ersten rsync
aufgerufen mit --partial
oder--partial-dir
(gleiche Wirkung wie --partial
, weist zusätzlich rsync
an um alle temporären Dateien in einem bestimmten Verzeichnis zu erstellen).
Beachten Sie, dass --append
impliziert --inplace
, was selbst --partial
impliziert .
-
Indem Sie einfach
--partial
verwenden Sie solltenrsync
verursachen Teilübertragungen zu verlassen und bei späteren Versuchen fortzusetzen. -
Durch die Verwendung von
--append
Sie solltenrsync
verursachen Teildateien zu verlassen und sie beim nächsten Mal fortzusetzen. Nach Übertragungrsync
sollte nur die Prüfsumme der übertragenen Daten prüfen. -
--append-verify
bezieht die gesamte Datei in die Prüfsummenüberprüfung ein, einschließlich aller Teile, die bei einer früheren Übertragung übertragen wurden. -
Entweder mit
--append
oder--append-verify
eine fehlgeschlagene Prüfsummenüberprüfung sollte dazu führen, dass die Datei vollständig neu übertragen wird (mit--inplace
)
Sie sollten in der Lage sein, mv
fortzusetzen oder cp
Betrieb mit rsync
aber vielleicht möchten Sie den --append-verify
verwenden Option für Seelenfrieden.
Beachten Sie, dass Sie --append
verwenden verursacht rsync
nur zu kopieren jene Dateien, deren Größe auf dem Empfänger kleiner ist als die Größe auf dem Sender (unabhängig von Zeitstempeln) oder die auf dem Empfänger fehlen. Durch Dokumentation zu dieser Option:
Wenn eine Datei übertragen werden muss und ihre Größe auf dem Empfänger gleich oder größer als die Größe auf dem Sender ist, wird die Datei übersprungen.
Weitere Informationen in der Manpage
David Schwartz hat Recht, --partial
(oder besser -P
) macht was du willst. Ich habe dies an einer 37-G-Datei überprüft, die über ein Netzwerk mit ~ 8 G gestoppt wurde. rsync scannte schnell die ersten Teile des Teils (zeigt den Fortschritt dank -P
) und setzte dann die Übertragung bis zum Ende der unvollständigen Datei fort.