У меня есть следующая команда xcopy для резервного копирования только новых файлов в окне Windows Server 2008:
XCOPY /D /Y C:\TMP\*.dat C:\Test
он отлично работает в первый раз, чтобы скопировать все файлы в Test и ничего не копировать впоследствии, поскольку файлы в C: \ TMP не были изменены.
Однако я попробовал ту же команду для сетевого диска (экспортированный диск для Windows из LINUX, соединение - CIFS), XCOPY копирует все файлы независимо от того, были ли исходные файлы изменены или нет. Аналогичная команда выглядит так:
XCOPY /D /Y C:\TMP\*.dat Z:\Test
Я проверил файлы в C: \ test и Z: \ Test по дате, времени и страницам свойств. Все даты создания, изменения и доступа совпадают.
Цель, которую мне нужно использовать XCOPY, - сделать инкрементное резервное копирование файлов. Я также попытался использовать ROBOCopy (инструмент в комплекте Windows), такое же поведение: работает, как ожидалось, на локальных дисках, но не для сетевого диска.
Еще одна причина, по которой мне нравится XCOPY, заключается в том, что новые исходные файлы копируются, даже когда исходный файл удерживается другими процессами. Я попробовал Microsoft SyncToy, но в этом случае он не работает. На основе документа для ROBOCopy кажется, что он не работает и для файлов, удерживаемых процессом.
Если сетевой диск является сетевым диском на другом компьютере с Windows, XCOPY работает нормально. Похоже, что XCOPY не работает для дисков, импортированных из системы UNIX. Не знаете, почему и есть ли другие варианты, которые я пропустил? Или любой другой вариант или доступные инструменты?
Я подозреваю, что разница заключается в различиях в разрешении даты, о которых сообщает Samba и хранится в файловой системе. Возможно, Samba сообщает даты с обнуленными микросекундами, тогда как файловая система хранит микросекунды, и xcopy / robocopy заботится об этом. Без взлома сниффера я не могу это доказать, но это предположение.
Самба map archive
и create mask
Опции определяют, сохраняется ли архивный бит. Они могли быть заблокированы / отключены по соображениям безопасности.