2014-09-19 21:03:44 +0000 2014-09-19 21:03:44 +0000
32
32

使用ROBOCOPY命令进行增量备份。

我对ROBOCOPY文档感到不知所措。我想把我的本地文件增量备份到网络驱动器(M)上。我希望它尽可能快地运行,没有日志文件,屏幕上的文字尽可能少。我的文件都在一个文件夹(MyFolder)内的某个地方,该文件夹有许多嵌套的子文件夹。我所说的 “增量 "是指 "只复制新的或改变的东西"。我不想删除目标中的任何历史文件,但如果我已经改变了一个文件,我只想要较新的版本。而如果我没有改变一个文件,那么我不想把它复制到现有的备份文件上。下面的做法正确吗?(运行Win7企业版。)

robocopy C:\MyFolder M:\MyFolder /z /np /xo /e

请问,除了robocopy,没有其他建议。我不允许安装任何东西。而且我不关心安全方面的东西。我有专人负责(无论我是否需要他们);-)

答案 (2)

43
43
43
2014-10-26 14:25:57 +0000

几年来,我一直在成功地使用下面这个脚本的变体。

robocopy C:\source M:\destination /MIR /FFT /R:3 /W:10 /Z /NP /NDL

参数解释

  • /MIR选项(相当于/E /PURGE)代表 “镜像",是最重要的选项。它将您的源文件夹视为 "主文件夹",使 robocopy 将源文件夹的任何更改(新文件,删除等)复制/镜像到目标文件夹,这对备份来说是一个有用的设置。

  • /FFT 是一个非常重要的选项,因为它允许在比较文件的时间戳时有 2 秒的差异,这样你的电脑和你的备份设备之间的微小时钟差异就不会有问题。这将确保只有修改过的文件被复制过来,即使文件修改时间不完全同步。

  • /R:3指定重试次数,如果连接失败,/W:10指定重试之间的等待时间为 10 秒。在通过网络进行备份时,这些选项非常有用。

  • /Z 以 "重启模式 "复制文件,因此中断后可继续复制部分文件。

  • /NP/NDL会抑制一些调试输出,你可以另外添加/NS/NC/NFL来进一步减少输出量(详见【文档】(http://technet.microsoft.com/en-us/library/cc733145.aspx))。然而,我建议在第一次运行时打印一些调试输出,以确保一切都按照预期工作。

其他用户提到的有用参数

  • /XJD 不包括目录的 "连接点",符号链接,这些链接可能会在备份过程中造成无限循环等问题。详情请参见 Brian 的评论。

  • /MT[:N]使用多线程,可以加快许多小文件的传输速度。对于N来说,在普通机器上,2-4倍的核心数就可以了。由Zoredache对原问题的评论。

编辑回复Granger的评论:

如果你真的想保留存在于目标端而不存在于源端的文件,只需将/MIR选项替换为/E即可。不过,我强烈建议当你想使用目标端进行增量备份时,使用/MIR。否则,任何在源端重命名或移动的文件都会使目标端杂乱无章,这意味着你会得到重复的文件。我通常会在目标机上创建一个子文件夹 "backup",其中包含源文件夹树的1:1副本。这样一来,你仍然可以在备份文件夹旁边保留周围的历史文件,并在以后安全地删除或重新组织它们。

8
8
8
2015-01-20 18:58:26 +0000

我喜欢使用以下方式。

robocopy "C:\Users\<user>" "F:\robocopy\<user>" /XJD /R:0 /XA:SH /E /ZB /XO /XD "Downloads" "AppData" /LOG:robocopy.log /TEE

我是以管理员身份运行的,所以备份模式(/b选项)可以复制正在使用的文件。

其他与备份的增量性质无关的选项是:

/XD 选项。

/XJD 将目录从备份中排除。

/R:0 排除交界点("我的音乐")。

/XA:SH 将失败尝试的重试设置为 0。

/NP /NS /NDL /NFL /NC 跳过隐藏文件和系统文件。

要尽可能多地删除日志信息,请附加以下选项 0x6&。