1

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

2

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .