Lassen Sie rsync den Fortschritt beim Prüfsummenvergleich anzeigen, auch wenn kein Unterschied festgestellt wird

7

Ich führe diesen Befehl aus, um die Identität zweier Ordner zu überprüfen und alle Unterschiede in eine Protokolldatei zu schreiben:

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

Wenn zwischen den zu vergleichenden Dateien kein Unterschied besteht, erwähnt rsync bis zum Ende des Jobs nichts anderes als dies:

Senden einer inkrementellen Dateiliste

Es wäre schön, Informationen darüber zu erhalten, wo sich rsync befindet. Vor allem, wenn Sie viele Dateien vergleichen. Ist es möglich, dass rsync alle Schecks in das Terminal druckt und nur die Unterschiede in der Protokolldatei belässt?

PS: --info=progress2hat nicht geholfen.

Rotareti
quelle

Antworten:

0

[Ich sehe, dass Sie eine Liste der Dateien möchten, von denen rsync die Prüfsumme berechnet, während diese Prüfsummen berechnet werden. Nach meiner Lektüre sieht es nicht so aus, als wäre das verfügbar. Ich gebe im Folgenden einige allgemeinere Informationen darüber, wie Rsync-Berichte in Bezug auf den Bericht über den Fortschritt funktionieren, wie ich ihn verstehe.]

Wenn Dateien übertragen werden müssen, --info=progress1gibt Ihnen der Schalter ("Fortschritt pro Datei") einige Fortschrittsinformationen. Wenn jede Datei übertragen wird, erhalten Sie Folgendes:

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), dass es die 6. von 13 ist.

Beachten Sie, dass Sie dies nicht in einem erhalten, --dry-runda nichts zu übertragen ist. (Möglicherweise erhalten Sie diese Ausgabe auch mit --progress, obwohl dies auf der Manpage nicht ersichtlich ist und ich im Moment nicht nachprüfe.)

Wenn Sie sich --recursivedie Manpage ansehen , werden Sie feststellen, dass seit Version 3.0.0 rsync -reinige Verzeichnisse überprüft werden, bevor Sie beginnen, und diese dann während der Übertragung weiter überprüfen. Dies ist ein "inkrementelles rekursives" Scannen, und in diesem Fall sehen Sie ir-chkeher als to-chk. Und der "Nenner" in ir-chkkann sich erhöhen, wenn zunehmend mehr Dateien gescannt werden.

Wenn Sie nicht verwendet haben --recursive, wird die Prüfsumme zuerst durchgeführt, um alle zu übertragenden Dateien zu identifizieren, und dann werden sie einzeln übertragen. Es scheint nicht , dass Sie in der Anfangsphase, in der die Prüfsummen berechnet werden, irgendeine Art von Fortschrittsbericht erhalten können, 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 deren Prüfsummen berechnet werden, ist nach meiner Lektüre nicht so. (Aber es könnte einen ordentlichen Trick geben, und es ist schwer, ein Negativ zu beweisen!)

Diagon
quelle