
Rsync, как вы знаете, известен своей способностью синхронизировать файлы пошагово — резервируя только изменения. Однако это не то поведение, которое я заметил при тестировании своей настройки Rsync.
Похоже, что Rsync продолжает резервное копирование и замену каждого файла каждый раз, когда я запускаю утилиту. Я знаю это, потому что файлы в моей папке назначения постоянно обновляют свою временную метку модификации каждый раз, когда я запускаю rsync. Я также использовал опцию --progress, чтобы поймать Rsync на том, что он тратит свое драгоценное время на копирование тех же файлов, которые уже были «синхронизированы» в исходную папку.
Есть ли какой-то особый способ запустить Rsync, чтобы он делал то, что должен?
решение1
Весьма вероятно, что вы запускаете rsync
копирование между двумя файловыми деревьями на одном сервере. В этой ситуации rsync
отключает свой дельта-алгоритм и использует размер файла и время модификации, чтобы определить, копировать файл или нет. Если вы не укажете --times
( -t
) или --archive
( -a
), то временные метки исходных файлов не будут сохранены, и поэтому файл будет копироваться каждый раз при запуске rsync
.
Вероятная команда:
rsync /path/to/source/* /path/to/destination/
Лучшая команда:
rsync -a /path/to/source/ /path/to/destination/