Verstehen der Ausgabe von --info = progress2 aus rsync

71

Wenn ich laufen rsyncmit --info=progress2, erhalte ich eine Ausgabe wie

105.45M  13%  602.83kB/s    0:02:50 (xfr#495, ir-chk=1020/3825)

Aber was bedeuten die einzelnen Zahlen? Ich habe keinen passenden Eintrag in der Manpage gefunden.

  • Die erste Zahl scheint die Menge der verarbeiteten Daten zu sein (die tatsächlich kopierten Bytes sowie die übersprungenen Bytes, weil sie bereits am Zielspeicherort vorhanden waren), oder? Es scheint nicht die Anzahl der übertragenen Daten zu sein, da sie schneller ansteigen als meine Internetverbindung ist ...
  • Bezieht sich der Prozentsatz auf die Datenmenge oder die Anzahl der zu kopierenden Dateien? Berücksichtigt es ausgeschlossene Dateien und Dateien, die am Zielspeicherort bereits aktuell sind?
  • Die Zeit auf der dritten Position schien zunächst eine Zeitschätzung für die Fertigstellung zu sein, aber als ich es versuchte, sprang sie zwischen einigen Stunden und einigen Sekunden. Worauf bezieht es sich und wie wird es berechnet?
  • Was bedeuten die letzten beiden Zahlen?
Muffel
quelle
1
Haben Sie die manSeite ausprobiert ( OPTIONEN > --progress)?
don_crissti
1
siehe unix.stackexchange.com/questions/231647/… wo es gelöst ist.
Shirish

Antworten:

89
105.45M 13% 602.83kB/s 0:02:50 (xfr#495, ir-chk=1020/3825)

Bedeutet, dass:

  • Der Empfänger / das Ziel hat bisher 105,45 Megabyte (oder 13% ) der ungefähr 811,15 Megabyte (100%) der Dateien des Absenders / der Quelle rekonstruiert .
  • Diese Dateien werden mit einer Geschwindigkeit von 602,83 Kilobyte pro Sekunde wiederhergestellt, und dieser Datenübertragungsvorgang dauerte bisher 2 Minuten und 50 Sekunden (verstrichene Zeit).

Auch XFR # 495 bedeutet , dass derzeit die 495. Datei übertragen wird, während ir-chk = 1020/3825 zeigt , dass von insgesamt (bisher) 3825 Dateien rekursiv überprüft (erkannt), bisher 1.020 von ihnen sind noch überprüft werden.

Wenn der Scan beispielsweise mehr als 100 zu überprüfende Dateien erkennt, werden beide Seiten um 100 erhöht (es wird dann ir-chk = 1120/3925 angezeigt ). Nachdem alle Dateien gescannt wurden (durch den inkrementellen Rekursionsscan erkannt), bleibt die Zahl auf der rechten Seite des Schrägstrichs bis zum Ende des gesamten Vorgangs gleich, während die auf der linken Seite des Schrägstrichs abnimmt da immer mehr Dateien geprüft werden. Aufgrund des Endes der Rekursion ändert sich ir-chk auch in to-chkzeigt an, dass der inkrementelle Rekursionsscan seine Prüfung beendet hat (Dateierkennungsoperation). Da die Dateien weiterhin geprüft / verifiziert werden, bis sie alle vorhanden sind, verringert sich die Anzahl der noch zu prüfenden / verifizierten Dateien (linke Seite des Schrägstrichs), bis diese Zahl Null wird (was das Ende des Dateiverifizierungsprozesses anzeigt). .

Lassen N die seine tatsächliche Gesamtzahl der Dateien zu überprüfen / überprüft, wenn der gesamte Prozess endet Sie werden sehen:

to-chk=0/N

... was bedeutet, dass von insgesamt N Dateien, die vom inkrementellen Rekursionsscan erkannt wurden , keine zu überprüfende / überprüfende Datei mehr vorhanden ist .

Über ir-chk (aus der Manpage von rsync):

Bei einem inkrementellen Rekursionsscan erkennt rsync die Gesamtzahl der Dateien in der Dateiliste erst am Ende des Scans. Da jedoch die Übertragung von Dateien während des Scans beginnt, wird eine Zeile mit dem Text " ir-chk "(für inkrementelle Rekursionsprüfung) anstelle von" to-chk "bis zu dem Punkt, an dem die vollständige Größe der Liste bekannt ist. An diesem Punkt wird" to-chk "verwendet. Wenn Sie also "ir-chk" sehen, wissen Sie, dass die Gesamtzahl der Dateien in der Dateiliste immer noch zunimmt (und jedes Mal, wenn dies der Fall ist, nimmt die Anzahl der zu überprüfenden Dateien um die Anzahl der hinzugefügten Dateien zu Die Liste).

Yuri Sucupira
quelle
4
Eine kleine Korrektur: Die 2:50 ist keine ETA - es ist die bisher verstrichene Zeit.
Sneak
4
@YuriSucupira Meine Antwort ist auf diesen Kommentar. Ich benutze es normalerweise immer --no-inc-recursive, aber darüber spreche ich nicht. Die Zeit ETA in progress2basiert auf den gesamten (bekannten) Daten und der verstrichenen Zeit. Es ist nicht pro Datei (blinkt jedoch den Wert für die verstrichene Zeit für eine einzelne Datei für ein Häkchen bei Abschluss einer einzelnen Datei). Es gab irgendwann einen Fehler , der dies weniger deutlich machte, obwohl ich nicht sicher bin, in welcher Version es sich befindet
Izkata,
2
@Izkata Ich erinnere mich, dass ich bis zu diesem Zeitpunkt (17. Juli 2016) rsync getestet habe, bevor ich hier eine Aussage gemacht habe, um sicherzustellen, dass die ETA pro Datei statt global ist, und war dann "visuell überzeugt", dass es eine Per ist -Datei ETA. Ich habe XUbuntu 14.04 verwendet (erinnere mich nicht, welche Rsync-Version es war). Wie auch immer, ich habe XUbuntu 16.04 (es wird mit rsync 3.1.1-3ubuntu1 geliefert) vor ein paar Monaten installiert und kann (visuell) bestätigen, dass rsync -a --info=progress2 /src /destmir tatsächlich die gesamte verstrichene Zeit im Wechsel mit der globalen ETA zur Verfügung steht, anstatt der ETA pro Datei. Das ist komisch und neu für mich, aber du hast recht.
Yuri Sucupira
4
@wingedsubmariner Während des Kopierens einer Datei file1zeigt rsync die (aktuelle) globale ETA für den gesamten Kopiervorgang an. Wenn der Kopiervorgang abgeschlossen ist file1, zeigt rsync die (aktuelle) global verstrichene Zeit an und beginnt dann mit dem Kopieren der nächsten Datei - sagen wir file2-, wodurch die (aktuelle) globale ETA erneut angezeigt wird, bis der Kopiervorgang von file2endet und dann rsync Zeigt Ihnen die neue (inkrementierte) Gesamtzeit an. Dies ist der Grund, warum Sie diese "Sprünge" sehen: Sie sehen eine abnehmende globale (Gesamt-) ETA im Wechsel mit der zunehmenden globalen (Gesamt-) verstrichenen Zeit.
Yuri Sucupira
2
@ijoseph Yup, die Manpage erwähnt nur das ETA-Verhalten. Dies ist einer der wahrscheinlichen Gründe, warum sich so viele Menschen über das Verhalten der Benutzeroberfläche während des Wiederherstellungsprozesses verwirrt fühlen. Ich selbst musste diesen Prozess einige Zeit aufmerksam verfolgen, bis ich endlich seine "Geheimnisse" enthüllen konnte. :)
Yuri Sucupira