
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=progress2
no 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=progress1
interruptor ("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)
xfer
le dice qué archivo se está transfiriendo ( xfer#6
es 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-run
ya 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 --recursive
la página de manual, verá que desde la versión 3.0.0, rsync -r
verificará 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-chk
en lugar de to-chk
. Y el "denominador" ir-chk
puede 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!)