2016-12-08 2 views
0

Я использую cwRsync 5.4.1 x86 Свободно под Windows и пытается синхронизировать папку с сетевым диском. я выполнить следующую команду:cwRsync, сетевой диск, проблема с временем изменения файла

rsync.exe -rLtv --delete --ignore-errors "/cygdrive/d/1/" "/cygdrive/z/ZipNB/"

где D является локальный диск и Z является сетевой диск (внешний жесткий диск, подключенный к маршрутизатору, RT-N16) Выполнение несколько раз дает тот же результат:

>rsync.exe -rLtv --delete --ignore-errors "/cygdrive/d/1/" "/cygdrive/z/ZipNB/" 
sending incremental file list 
./ 
1.pdf 

sent 11,893,922 bytes received 38 bytes 1,829,840.00 bytes/sec 
total size is 11,890,918 speedup is 1.00 

У меня есть один файл в папке и он отправляет содержимое каждого исполнения. Файл одинаковый каждый раз и не был изменен посередине.

Если добавить дополнительный параметр --size только он работает, как ожидалось:

>rsync.exe -rLtv --delete --ignore-errors --size-only "/cygdrive/d/1/" "/cygdrive/z/ZipNB/" 
sending incremental file list 
./ 

sent 72 bytes received 22 bytes 188.00 bytes/sec 
total size is 11,890,918 speedup is 126,499.13 

DIR для обоих каталогов:

D:\1>dir 
    Volume in drive D is XXX 
    Volume Serial Number is XXXX-XXX 

Directory of D:\1 

08.12.2016 10:04 <DIR>   . 
08.12.2016 10:04 <DIR>   .. 
24.11.2016 18:31  11 890 918 1.pdf 
      1 File(s)  11 890 918 bytes 

Z:\ZipNB>dir 
Volume in drive Z is BackUp (at Portable) 
Volume Serial Number is XXXX-XXX 

Directory of Z:\ZipNB 

08.12.2016 10:04 <DIR>   . 
08.10.2016 20:40 <DIR>   .. 
24.11.2016 18:31  11 890 918 1.pdf 
      1 File(s)  11 890 918 bytes 

Я не уверен, но, как я знаю rsync по умолчанию делает проверку файла по времени и размеру модификации. Оба файла кажутся одинаковыми. Но похоже, что cwRsync по какой-то причине получает/устанавливает неправильную дату изменения файла на Z-диске. cwRsync работает правильно, если оба каталога находятся на локальном диске. Это происходит только с сетевым диском.

В свойствах окон есть разница во времени модификации за 1 секунду, что может вызвать проблему. windows properties

В качестве примера я использовал только 1 файл, чтобы упростить вывод, ситуация такая же, как и любое количество разных файлов. Он всегда отправляет полный контент каждого файла. Что здесь может быть неправильным, и как я могу это исправить?

ответ

1

Я предполагаю, что жесткий диск на сетевом ресурсе использует FAT, потому что от File Times:

Например, разрешение создать времени на FAT 10 миллисекунд, в то время как записи времени имеет разрешение 2 секунд и времени доступа имеет разрешение 1 день, так что это действительно дата доступа.

Это объясняет разницу во времени.

И для такого рода причин rsync добавил --modify-окна варианта:

- @, --modify окно

При сравнении двух временных меток, Rsync рассматривает временные метки равны, если они отличаются не более чем значением окна изменения. Значение по умолчанию равно 0, которое соответствует целым числам секунд. Если вы укажете отрицательное значение (а приемник - не менее версии 3.1.3), то также будут учтены наносекунды. Указание 1 полезно для копий в/из файловых систем MS Windows FAT, поскольку FAT представляет раз с 2-секундным разрешением (разрешение может отличаться от оригинала до 1 секунды).

Постарайтесь добавить - @ 1 к вашей команде.

Смежные вопросы