it-swarm.com.de

Wie kann ich rsync anhalten / fortsetzen?

Wie kann ich einen laufenden rsync anhalten?

Zum ersten Mal habe ich Ctrl+C um es zu töten und benutzte die -P Flag, um erneut ausgeführt zu werden. Ist dies anfällig für Beschädigungen der aktuellen Dateiübertragung?

Zum zweiten Mal habe ich MacOS einfach in den Ruhezustand versetzt (durch Schließen des Deckels). Wenn ich mir den laufenden Prozess ansehe, sehe ich 2 (nicht sicher warum) mit dem Status 'S'.

Versucht mit

kill -SIGCONT

um den Prozess fortzusetzen, aber es hat keine Wirkung.

52
qnoid

Sie können jedes Programm anhalten, indem Sie ihm ein TSTP (höflich) oder STOP (gewaltsam) Signal senden. Drücken Sie auf dem Terminal, auf dem Sie rsync ausgeführt haben, auf Ctrl+Z sendet TSTP. Fahren Sie mit dem Befehl fg oder bg im Terminal oder einem Signal CONT fort.

Es ist sicher, einen Rsync-Prozess abzubrechen und das Ganze erneut auszuführen. es wird dort fortgesetzt, wo es aufgehört hat. Dies kann etwas ineffizient sein, insbesondere wenn Sie --partial (In -P Enthalten) nicht übergeben haben, da rsync alle Dateien erneut überprüft und die unterbrochene Datei verarbeitet von Grund auf neu.

Es kann ungewöhnliche Kombinationen von Optionen geben, die dazu führen, dass einige Dateien nicht richtig synchronisiert werden, möglicherweise --inplace Mit etwas anderem, aber ich denke, keine einzelne Option wird dies verursachen.

Wenn Sie Ihren Laptop trennen und an einer anderen Stelle wieder anschließen, erhält er möglicherweise eine andere IP-Adresse. Dann würde die von rsync verwendete Verbindung TCP getrennt, sodass Sie sie beenden und erneut starten müssten. Dies kann auch passieren, wenn Sie Ihren Laptop anhalten und die Verbindung zu TCP unterbrochen wird. Das Zeitlimit wird schließlich auf Anwendungsebene herausgefiltert, kann jedoch eine Weile dauern. Es ist sicher zu drücken Ctrl+C und führen Sie rsync erneut aus.

Ctrl+Z auszusetzen und:

$ fg

um fortzufahren, verwenden Sie

$ jobs

suspendierte Jobs zu sehen; bg [number] um sie in den Hintergrund zu stellen; fg [number] um es in den Vordergrund zu stellen.

22
gauteh

Führen Sie rsync mit dem --partial Flagge. Es werden dann Teilübertragungen beibehalten und Teildateien beim Start fortgesetzt.

8
bahamat

Die Leute hier haben erwähnt, dass die Verwendung des Flags --partial Funktioniert. Es muss jedoch erwähnt werden, dass es nur fortgesetzt wird, wenn das Flag --append Oder --append-verify Beim Fortsetzen verwendet wird.

--partial Erstellt eine versteckte Datei der Datei, die den Synchronisierungsvorgang noch nicht abgeschlossen hat. Die Datei bleibt erhalten, wenn Sie die Synchronisierung unterbrechen. Die Datei wird weiterhin vervollständigt, wenn Sie nach der Wiederaufnahme --append Verwenden. Andernfalls wird die unvollständige ausgeblendete Datei beibehalten und bleibt unvollständig, wenn Sie --append Nicht verwenden.

Fazit: Sie können rsync --partial Mit einfach unterbrechen Ctrl + C wenn Sie bei der Wiederaufnahme rsync --append verwenden

(Quelle: Kann rsync nach einer Unterbrechung fortgesetzt werden? Abgerufen am 5. April 2016)

5
Mehdi Nellen