Stellen Sie sicher, dass rsync den Fortschritt beim Prüfsummenvergleich anzeigt, auch wenn kein Unterschied gefunden wird.

Stellen Sie sicher, dass rsync den Fortschritt beim Prüfsummenvergleich anzeigt, auch wenn kein Unterschied gefunden wird.

Ich führe diesen Befehl aus, um die Identität zweier Ordner zu prüfen und alle Unterschiede in einer Protokolldatei zu speichern:

rsync -av --delete --checksum --dry-run --stats --itemize-changes --out-format='%t %i %f ' SOURCE DESTINATION | tee log.txt

Wenn zwischen den verglichenen Dateien kein Unterschied besteht, wird rsync bis zum Ende des Auftrags nichts außer Folgendem erwähnen:

Senden einer inkrementellen Dateiliste

Es wäre schön, Informationen darüber zu erhalten, wo rsync steht. Besonders, wenn Sie viele Dateien vergleichen. Ist es möglich, rsync dazu zu bringen, alle Prüfungen im Terminal auszugeben und nur die Unterschiede in der Protokolldatei zu belassen?

PS: --info=progress2hat nicht geholfen.

Antwort1

[Ich sehe, Sie möchten eine Liste der Dateien, deren Prüfsumme rsync berechnet, während diese Prüfsummen berechnet werden. So wie ich das lese, scheint das nicht verfügbar zu sein. Ich gebe weiter unten einige allgemeinere Informationen dazu, wie rsync-Berichte im Verhältnis zu der Art und Weise, wie es den Fortschritt meldet, funktioniert, so wie ich es verstehe.]

Wenn Dateien zu übertragen sind, --info=progress1erhalten Sie über den Schalter („Fortschritt pro Datei“) Informationen zum Fortschritt. Wenn jede Datei übertragen wird, erhalten Sie etwas, das so aussieht:

MD5SUMS.gnome
        141   0%    0.00kB/s    0:00:00 (xfr#1, to-chk=11/13)
ParrotSecurity.lnk
        179   0%   37.11kB/s    0:00:00 (xfr#2, to-chk=10/13)
SHA256SUMS.mate
        486   0%  336.91kB/s    0:00:00 (xfr#3, to-chk=9/13) 
SHA256SUMS.mate.gpg
      1,419   0%    1.22MB/s    0:00:00 (xfr#4, to-chk=8/13)
SHA256SUMS.ubuntu
      1,994   0%    1.77MB/s    0:00:00 (xfr#5, to-chk=7/13)
SHA256SUMS.ubuntu.gpg
      2,927   0%    2.66MB/s    0:00:00 (xfr#6, to-chk=6/13)

xfersagt Ihnen, welche Datei übertragen wird ( xfer#6ist die 6.), und to-chk(sagen wir to-chk=6/13) sagt Ihnen, dass es die 6. von 13 ist.

Beachten Sie, dass Sie dies nicht in einem erhalten, --dry-runda nichts zu übertragen ist. (Sie können diese Ausgabe auch mit erhalten --progress, dies ist jedoch aus der Manpage nicht klar ersichtlich und ich werde es jetzt nicht überprüfen.)

--recursiveWenn Sie sich die Manpage ansehen , werden Sie feststellen, dass seit Version 3.0.0 rsync -rvor dem Start einige Verzeichnisse überprüft werden und diese dann während der Übertragung weiter überprüft werden. Dies ist ein „inkrementell rekursives“ Scannen, und in diesem Fall wird ir-chkanstelle von angezeigt to-chk. Und der „Nenner“ in ir-chkkann zunehmen, wenn nach und nach mehr Dateien gescannt werden.

Wenn Sie nicht verwendet haben --recursive, wird zuerst die Prüfsumme gebildet, um alle zu übertragenden Dateien zu identifizieren, und dann werden sie einzeln übertragen. EsnichtEs scheint, dass Sie irgendeine Art Fortschrittsbericht über die Anfangsphase erhalten können, in der die Prüfsummen berechnet werden, da rsync noch nicht weiß, wie viele Dateien es geben wird oder wie groß sie sind. Ob Sie eine Liste der Dateinamen erhalten können, während ihre Prüfsummen berechnet werden, scheint mir nicht so. (Aber es könnte einen netten Trick geben, und es ist schwer, das Gegenteil zu beweisen!)

verwandte Informationen