Wie kann ich den Rsync-Fortschritt sehen?
rsync ist ein beliebtes Tool zur Synchronisierung von Dateien zwischen zwei Computersystemen. Es ist ein wertvolles Dienstprogramm zum lokalen und Remote-Synchronisieren von Dateien. Dieses Dateiübertragungs- und Synchronisierungstool wird häufig in Linux- oder Unix-basierten Systemen verwendet. Um Netzwerkbandbreite zu sparen, verwendet rsync eine Art Delta-Kodierung. Diese Delta-Kodierung ermöglicht es rsync, nur die Unterschiede zwischen der Ziel- und den Quelldateien zu senden.
Hier ist die grundlegende Syntax des rsync-Befehls:
Wenn Sie rsync zum Kopieren oder Synchronisieren einer Datei verwenden, wird normalerweise kein Fortschrittsbalken oder eine andere Angabe zur Größe und Geschwindigkeit der Daten angezeigt. Manchmal möchten Sie möglicherweise von Zeit zu Zeit den Status einer umfangreichen Dateiübertragung und den Fortschritt der übertragenen Daten überprüfen. In diesem kurzen Beitrag erfahren Sie, wie Sie den Fortschritt der Rsync-Datei überprüfen und die Dateiübertragungsstatistiken anzeigen.
rsync –progress:
Um ein praktisches Beispiel zu demonstrieren, haben wir zwei Testverzeichnisse erstellt, „testdir1“ und „testdir2“. „testdir1“ enthält folgenden Inhalt:
Jetzt synchronisieren wir das Verzeichnis „testdir1“ und seine Dateien mit dem Verzeichnis „testdir2“.
Die rekursive Synchronisierung erfolgt mit der Option „-a“ und die ausführliche Ausgabe mit der Option „-v“. Die unten angegebene Ausgabe zeigt beispielsweise den ausführlichen Verlauf der Dateisynchronisierung zwischen testdir1 und testdir2, jedoch nicht den Fortschritt der rsync-Dateiübertragung.
„–progress“ oder „–P“ zwingen rsync dazu, die mit der Dateiübertragung verbundenen Informationen auszudrucken. Dies bietet einem gelangweilten Benutzer etwas zu sehen, während die riesigen Dateiübertragungen abgeschlossen sind. Während der Befehl rsync eine Datei überträgt, aktualisiert –progress den Fortschritt wie folgt:
Die obige Fortschrittsstatistik zeigt uns, dass das Ziel 100.000 Byte oder 75 % der Quelldatei mit einer Geschwindigkeit von 220,64 kb/s wiederhergestellt hat. Wenn daher die aktuelle Geschwindigkeit bis zum Abschluss des Vorgangs beibehalten wird, ist die Dateiübertragung in 3 Sekunden abgeschlossen. Diese Zahlen können jedoch irreführend sein. Wenn die Quelldatei beispielsweise die wesentlichen Dateien gefolgt von zusätzlichen Daten enthält, sinkt die Übertragungsrate erheblich. In einem solchen Fall dauert die Dateiübertragung viel länger als erwartet.
Nach Abschluss der Dateiübertragung ersetzt rsync den Fortschritt durch eine Zusammenfassungsleiste, die wie folgt aussieht:
Im obigen Beispiel war die Datei insgesamt 1260.000 Byte groß, die durchschnittliche Geschwindigkeit der gesamten Dateiübertragung betrug 246,38 kB/s und der Abschluss dauerte 6 Sekunden. Der Fortschrittsbalken in der Ausgabe gibt außerdem an, dass es sich während der aktuellen rsync-Sitzung um die siebte reguläre Dateiübertragung handelte und dass 200 weitere Dateien für das Ziel überprüft werden müssen.
Methode 1: Verwenden der Option –progress, um den Rsync-Fortschritt anzuzeigen:
Verwenden Sie „–progress“ im rsync-Befehl und „-av“, um am Ende der Dateiübertragung eine Zusammenfassung zu erhalten, bestehend aus Übertragungsrate, gesendeten/empfangenen Bytes, Übertragungsgeschwindigkeit und Gesamtdatei Größe.
Statistiken des rsync anzeigen:
Um weitere Details zum Dateisynchronisierungsprozess und seinem Fortschritt zu erhalten, verwenden Sie die Option „–stats“ mit der Option „–progress“ im Befehl rsync.
Methode 2: Anzeigen des Fortschritts von rsync mit dem Befehl pv:
Sie können den pv-Befehl verwenden, um den Fortschritt der Datenübertragung durch eine Pipeline zu verfolgen. Es enthält folgende Informationen:
Aktuelle Durchsatzrate
Verstrichene Zeit
Gesamte übertragene Daten
-
Prozentsatz der Fertigstellung mit Fortschrittsbalken
voraussichtliche Ankunftszeit
Schreiben Sie den unten angegebenen Befehl zur Installation von „pv“ auf Ihrem System auf.
Hier ist die Syntax des pv-Befehls, der zum Überwachen der Dateiübertragung verwendet wird
$ rsync -vrltD testdir1/ testdir2/ | pv -lep -s 5
Für denselben Zweck können Sie auch den folgenden Befehl verwenden.