Насправді ви наче відповіли на власне запитання, оскільки у вашій оригінальній команді вже є: --progress
Це правильний варіант, хоча сторінка "man" трохи критична щодо цього:
--progress show progress during transfer
-P same as --partial --progress
Це ніби має сенс, оскільки ви викликаєте rsync
рядок у режимі dryrun, транзитер не відбувається, але ви все одно матимете прогрес: а саме файли, які змінилися і будуть передані.
Таким чином ви отримуєте акуратний невеликий список усіх файлів, наприклад:
У пункті призначення вже є копія зміненого файла, оновленого у вихідному та старому файлі, яка залишається незмінною. Джерело також має додатковий файл: 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
Якщо ми потім посилаємося на вашу команду rsync, але видаляємо деталізацію -i
та просто додаємо сухурунь-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)
Ви отримуєте список лише тих файлів, які rsync перекладе: змінений файл та новий файл.