Кто-нибудь знает, почему rsync будет отправлять файлы снова и снова?

14

Я пытаюсь использовать rsync для резервного копирования некоторых файлов, около половины ТБ. Теперь это состояние, в котором он продолжает отправлять одни и те же файлы каждый раз, когда запускается.

например:

rsync -av /data/source/* user@host:/data/dest
sending incremental file list
source/file1.txt
source/file2.txt

Затем я проверяю, что эти файлы скопированы ... затем при следующем запуске он делает то же самое

rsync -av /data/source/* user@host:/data/dest
sending incremental file list
source/file1.txt
source/file2.txt

Любая идея, почему он застревает на этих файлах? Я пытался уничтожить весь каталог dest и начать все сначала, но не повезло.

Благодарность,


источник
1
Вы сделали diff для файлов и проверили всю информацию в их списке ls -l? В принципе, они могут быть изменены на любом из edn без вашего ведома, и, возможно, rsync не оставляет файлы в нужном состоянии в месте назначения.
Чарльз Стюарт

Ответы:

9

Используйте --itemize-changesдля получения rsync для вывода того, что на самом деле изменяется

Ответ от ire_and_cursesнеправильного понимания -tсостоит в том, чтобы сохранить время модификации , а не решать, передавать файлы или нет. Параметры, которые определяют, следует ли пропустить файлы: -cкакие решают, пропустить ли идентичные файлы на основе контрольной суммы, и -Iигнорируют размер и время при принятии решения, пропустить ли файлы.

Кроме того, несмотря на то, что rsync может отправлять файлы снова, он не должен передавать все содержимое - при запуске команды -vдолжно выводиться сводный отчет о том, сколько данных было найдено при передаче.

Для проверки должно помочь следующее:

  • md5sum файлов на обоих концах - чтобы показать вам, если содержимое изменилось
  • ls -l должен показать вам, если метки времени изменились.
Дэвид Фрейзер
источник
5

Я помню похожую проблему с часами двух систем, которые не совсем себя ведут. Пришлось использовать --modify-window=60для учета "временных аномалий".

janmoesen
источник