Rsync пересылает все файлы, поскольку у файлов разная временная метка (отклонение на 1 секунду?)

Rsync пересылает все файлы, поскольку у файлов разная временная метка (отклонение на 1 секунду?)

Я использую rsync для резервного копирования файлов с моего ноутбука Mac на USB-накопитель (exFAT) на моем ноутбуке Windows. USB-накопитель является общим в моей домашней сети и смонтирован на моем Mac.

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

Когда я включил его, --itemize-changesя увидел, что это tбыло в выходных данных для каждого файла, указывая на то, что причиной повторной отправки были временные метки файла.

>f..t.... netstat.txt

ls -lT(macOS) указала отформатированную в секундах временную метку, которая показывала разницу в одну секунду между файлом и более новым источником.

$ ls -lT source/file.txt 
-rwxr-----  1 user  group  1176 Sep 19 22:32:59 2014 file.txt
$ ls -lT destination/file.txt 
-rwx------  1 user  group  1176 Sep 19 22:32:58 2014 file.txt

Добавление -cопции в rsync игнорировало разницу временных меток и пропускало ненужные передачи. Однако я хотел бы знать, почему у моих исходных и целевых файлов разница во временных метках составляет 1 секунду (насколько я потрудился проверить).

решение1

Я знаю, что файловые системы могут обрабатывать время по-разному, так что это, скорее всего, источник расхождения. Вы можете настроить порог сравнения mod-time с помощью --modify-window.

# Ignore up to a 5 second difference. Tighten up as desired.
rsync --modify-window=5 do whatever...

Более подробную информацию можно найти наman-страница для Rsync.

--изменить-окно

При сравнении двух временных меток rsync считает временные метки равными, если они отличаются не более чем на значение окна изменения. Обычно это 0 (для точного совпадения), но в некоторых ситуациях может оказаться полезным установить большее значение. В частности, при передаче в файловую систему MS Windows FAT или из нее (которая представляет время с разрешением 2 секунды),--изменить-окно=1полезно (допускается разница во времени до 1 секунды).

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