我有以下xcopy命令来仅备份Windows Server 2008中的新文件框:
XCOPY /D /YC:\TMP\*.dat C:\Test
它第一次正常工作将所有的文件复制到testing和随后没有任何复制,因为在C:\ TMP没有文件已被更改。
但是,我尝试了相同的命令到networking驱动器(从LINUX导出驱动器的Windows,连接是CIFS),XCOPY确实复制所有文件,无论源文件是否更改。 类似的命令是这样的:
XCOPY /D /YC:\TMP\*.dat Z:\Test
我通过date时间和属性页面validation了C:\ test和Z:\ Test中的文件。 所有创build,修改和访问的date都是一样的。
我需要使用XCOPY的目的是做增量备份的文件。 我也尝试使用ROBOCopy(Windows套件中的一个工具),具有相同的行为:按预期在本地驱动器中工作,但不在networking驱动器中工作。
我喜欢XCOPY的另一个原因是,即使源文件被其他进程占用,新的源文件也会被复制。 我试过Microsoft SyncToy,但在这种情况下不起作用。 基于ROBOCopy的doc,似乎它不适用于由进程保存的文件。
如果networking驱动器是另一个Windows盒子上的networking驱动器,则XCOPY正常工作。 看来,XCOPY不适用于从UNIX系统导入的驱动器。 不知道为什么还有其他选项我错过了? 还是有其他的select或工具可用?
我怀疑Samba报告的date分辨率差异和存储在文件系统中的差异。 这可能是因为Samba报告了微秒归零的date,文件系统存储了微秒,xcopy / robocopy关心这个date。 没有破解嗅探器我不能certificate这一点,但这是一个猜测。
Samba map archive和create mask选项控制是否存储归档位。 出于安全原因,他们可能已被禁用/禁用。