У меня есть сценарий, который использует rsync
для получения файлов с удаленного сервера, а затем обрабатывать их. Эти локальные копии не удаляются между запусками, поэтому rsync
должен только загружать новые файлы. Тем не менее, кажется, что rsync
загружает каждый файл каждый раз, даже когда ни кешированная локальная копия, ни серверная копия не изменились, и я могу понять, почему.
Есть ли какой-то аргумент командной строки для rsync
, который поможет мне диагностировать, почему данный файл копируется или не копируется во время этого прогона? Я пробовал -v
, но, похоже, он не дает мне нужную информацию. Что-то вроде:
> rsync --diagnose-why-files-copied remotehost:/remote/path ./local/path/
'remotehost:/remote/path/file1':
Destination file './local/path/file1' does not exist; copying.
'remotehost:/remote/path/file2':
Destination file './local/path/file2' exists...
Destination file size does not match source file size; copying.
'remotehost:/remote/path/file3':
Destination file './local/path/file3' exists...
File sizes match...
Destination file modification date does not match source file modification date; copying.
'remotehost:/remote/path/file4':
Destination file './local/path/file4' exists...
File sizes match...
File modification dates match...
No change detected; skipping.
> rsync -c --diagnose-why-files-copied remotehost:/remote/path2 ./local/path2/
'remotehost:/remote/path2/file1':
Destination file './local/path2/file1' does not exist; copying.
'remotehost:/remote/path2/file2':
Destination file './local/path2/file2' exists...
Destination file checksum does not match source file checksum; copying.
'remotehost:/remote/path2/file3':
Destination file './local/path2/file3' exists...
File checksums match...
No change detected; skipping.