Haga que rsync muestre el progreso en la comparación de la suma de verificación, incluso si no se encuentra ninguna diferencia

Haga que rsync muestre el progreso en la comparación de la suma de verificación, incluso si no se encuentra ninguna diferencia

Ejecuto este comando para verificar la identidad de dos carpetas y pongo todas las diferencias en un archivo de registro:

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

Si no hay diferencias entre los archivos que estás comparando, rsync no mencionará nada excepto esto hasta el final del trabajo:

enviando lista de archivos incremental

Sería bueno obtener información sobre dónde se encuentra rsync. Especialmente si comparas muchos archivos. ¿Es posible hacer que rsync imprima todos los cheques en la terminal y deje solo las diferencias en el archivo de registro?

PD: --info=progress2no ayudó.

Respuesta1

[Veo que desea una lista de los archivos cuya suma de verificación está calculando rsync, a medida que se calculan esas sumas de verificación. Según mi lectura, no parece que esté disponible. A continuación doy información más general sobre cómo funcionan los informes rsync en relación con cómo informa el progreso según tengo entendido.]

Si hay archivos para transferir, entonces el --info=progress1interruptor ("progreso por archivo") le brindará información sobre el progreso. A medida que se transfiere cada archivo, obtendrá algo parecido a esto:

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)

xferle dice qué archivo se está transfiriendo ( xfer#6es el sexto) y to-chk(digamos to-chk=6/13) le dice que es el sexto de 13.

Tenga en cuenta que no obtendrá esto en un --dry-runya que no hay nada que transferir. (También puede obtener este resultado con --progress, aunque no queda claro en la página de manual y no lo comprobaré ahora).

Si observa --recursivela página de manual, verá que desde la versión 3.0.0, rsync -rverificará algunos directorios antes de comenzar y luego continuará revisándolos durante la transferencia. Este es un escaneo "incremental recursivo" y en ese caso verá ir-chken lugar de to-chk. Y el "denominador" ir-chkpuede aumentar a medida que analiza progresivamente más archivos.

Si no estaba utilizando --recursive, primero se realiza la suma de verificación para identificar todos los archivos que deben transferirse y luego se transfieren uno por uno. Lo hacenoParece que puede obtener cualquier tipo de informe de progreso sobre la fase inicial en la que se calculan las sumas de verificación, ya que rsync aún no sabe cuántos archivos habrá ni qué tamaño tienen. En cuanto a si puede obtener una lista de nombres de archivos a medida que se calculan sus sumas de verificación, según mi lectura, no lo parece. (¡Pero podría haber un buen truco y es difícil demostrar que es negativo!)

información relacionada