वास्तव में, आपने अपने स्वयं के प्रश्न का उत्तर दिया, क्योंकि आपके मूल आदेश में पहले से ही यह है: --progress
यह सही विकल्प है, हालांकि मैन पेज इसके बारे में थोड़ा गूढ़ है:
--progress show progress during transfer
-P same as --partial --progress
यह थोड़े समझ में आता है, जब से आप अपने rsync
स्ट्रिंग को ड्राईरुन मोड के साथ आमंत्रित करते हैं, कोई भी ट्रांसफर नहीं होता है, लेकिन आपके पास अभी भी प्रगति होगी: अर्थात् फाइलें जो बदल गई हैं और स्थानांतरित हो जाएंगी।
इस तरह आप सभी फाइलों की एक छोटी सी सूची प्राप्त करते हैं, उदाहरण के लिए:
गंतव्य में पहले से ही बदली हुई प्रतिलिपि की प्रतिलिपि है जो स्रोत और पुराने फ़ाइल में अपडेट की गई थी, जो अपरिवर्तित बनी हुई है। स्रोत में एक एडिटोनल फ़ाइल भी है: 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 ट्रान्सफ़र करेगा: चेंजफाइल और न्यूफ़ाइल।