Na verdade, você meio que respondeu sua própria pergunta, já que seu comando original já a possui: --progress
Esta é a opção correta, embora a página de manual seja um pouco enigmática:
--progress show progress during transfer
-P same as --partial --progress
Meio que faz sentido, já que você invoca sua rsync
string no modo dryrun, nenhum transer acontece, mas você ainda tem progresso: os arquivos que foram alterados e seriam transferidos.
Dessa forma, você obtém uma pequena lista organizada de todos os arquivos, por exemplo:
O destino já possui uma cópia do arquivo alterado que foi atualizada no arquivo de origem e antigo, que permanece inalterado. A fonte também possui um arquivo adicional: newfile.
#~$ ls -lhan /tmp/destination/
total 20K
drwxrwxr-x 2 1000 1000 4,0K Jän 31 09:07 .
drwxrwxrwt 18 0 0 12K Jän 31 09:15 ..
-rw-rw-r-- 1 1000 1000 2 Jän 31 09:08 changedfile
-rw-rw-r-- 1 1000 1000 0 Jän 31 09:07 oldfile
#~$ ls -lhan /tmp/source/
total 20K
drwxrwxr-x 2 1000 1000 4,0K Jän 31 09:07 .
drwxrwxrwt 18 0 0 12K Jän 31 09:15 ..
-rw-rw-r-- 1 1000 1000 2 Jän 31 09:15 changedfile
-rw-rw-r-- 1 1000 1000 0 Jän 31 09:07 newfile
-rw-rw-r-- 1 1000 1000 0 Jän 31 09:07 oldfile
Se invocarmos seu comando rsync, mas removermos a especificação do item -i
e apenas adicionarmos dryrun-n
#~$ ~$ rsync -n -rza --progress --stats --ignore-times --checksum /tmp/source/ /tmp/destination/
sending incremental file list
changedfile
newfile
Number of files: 4 (reg: 3, dir: 1)
Number of created files: 1 (reg: 1)
Number of deleted files: 0
Number of regular files transferred: 2
Total file size: 2 bytes
Total transferred file size: 2 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 0
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 187
Total bytes received: 22
sent 187 bytes received 22 bytes 418.00 bytes/sec
total size is 2 speedup is 0.01 (DRY RUN)
Você obtém uma lista apenas dos arquivos que o rsync transfira: o arquivo alterado e o novo arquivo.