Robocopy - 仅备份新文件

Robocopy - 仅备份新文件

我可以访问一个网络驱动器,每天都会在该驱动器上创建新闻文件夹。该驱动器名为 G:

我想备份 G:\ 中的所有文件夹到 D:\WebUpload

由于文件太多,我只想复制最新的文件。最新的文件是指尚未从 G: 备份到 D: 的文件。

我创建了这个脚本

robocopy  G:\ D:\WebUpload\ /E  /XO /R:3 /W:5 /XA:S /XF *.tmp *.bak /TEE /XD $RECYCLE.BIN "System Volume Information"

但是这个脚本每次都会复制整个内容。

编辑

我编辑了脚本以添加/FFT

robocopy  G:\ D:\WebUpload\ /E  /FFT /XO /R:3 /W:5 /XA:S  /TEE /XD $RECYCLE.BIN "System Volume Information"

REM Source to Dest
REM /E Subfolder
REM /XO Exclude old files
REM /R Retry x times
REM /W sec between each retry
REM /TEE Display in the command prompt
REM /XD Exclude [][]

您可以看到名为 20150304103_8 的文件夹存在于 G:\ 和 D:\WebUpload 位置。

在此处输入图片描述

但是脚本会分析此文件夹中的每个文件。它需要 1 秒/文件,而我的几个文件夹中有 1000 多个文件……所以它太长了

在此处输入图片描述

答案1

最有可能的是,您需要/FFT放松时间戳的比较。

编辑- 每个文件系统都以一定的精度存储时间戳。NTFS 的创建和修改时间戳的精度为 1/10 微秒。FAT 的精度分别为 10 毫秒和 2 秒 [1]。因此,如果您从 NTFS 复制到 FAT,则时间戳会被四舍五入,并且在下次运行时,当比较 src 和 dst 时它们将不匹配,从而导致文件被重新复制。/FFT它所做的只是强制 robocopy 在比较时间戳时使用 FAT 精度,使其更加松散。

[1]https://msdn.microsoft.com/en-us/library/windows/desktop/ms724290%28v=vs.85%29.aspx

相关内容