Диагностика причин, по которым rsync копирует или не копирует определенные файлы

Диагностика причин, по которым rsync копирует или не копирует определенные файлы

У меня есть скрипт, который использует 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.

решение1

-iiто, что я искал. --itemize-changesПараметр, короткая форма -i, приводит к выводу диагностического сообщения для каждого файла, который был обновлен или изменен, с указанием того, что с ним было сделано и почему. Указание параметра дважды приводит к выводу сообщения также для файлов, которые вообще не были изменены.

Связанный контент