ROBOCOPY 命令进行增量备份

dmm*_*dmm 39 windows backup robocopy

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

robocopy C:\MyFolder M:\MyFolder /z /np /xo /e
Run Code Online (Sandbox Code Playgroud)

请,除了robocopy之外没有任何建议。我不允许安装任何东西。而且我不关心安全问题。我有这样的人(无论我是否想要)。;-)

jur*_*ods 51

几年来,我一直成功使用以下脚本的变体:

robocopy C:\source M:\destination /MIR /FFT /R:3 /W:10 /Z /NP /NDL
Run Code Online (Sandbox Code Playgroud)

参数说明

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

  • /FFT是一个非常重要的选项,因为它在比较文件的时间戳时允许 2 秒的差异,这样您的计算机和备份设备之间的微小时钟差异就无关紧要。这将确保只复制修改过的文件,即使文件修改时间不完全同步。

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

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

  • /NP/NDL抑制一些调试输出,您还可以添加/NS/NC/NFL以进一步减少输出量(见文档获取详细信息)。但是,我建议在第一次运行时打印一些调试输出,以确保一切都按预期工作。

其他用户提到的其他有用参数

  • /XJD排除目录的“连接点”,符号链接可能会导致备份过程中出现无限循环等问题。有关详细信息,请参阅Brian的评论。

  • /MT[:N]使用多线程,可以加快许多小文件的传输。对于 N,在普通机器上应该是内核数的 2-4 倍。Zoredache对原始问题的评论。

编辑以回应格兰杰的评论:

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

  • 除了 /MIR (/PURGE) 将删除在源不再存在的目标文件。提出的问题明确指出**不**想要。 (5认同)

小智 7

我喜欢使用以下内容:

robocopy "C:\Users\<user>" "F:\robocopy\<user>" /XJD /R:0 /XA:SH /E /ZB /XO /XD "Downloads" "AppData" /LOG:robocopy.log /TEE
Run Code Online (Sandbox Code Playgroud)

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

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

/XD 从备份中排除目录。

/XJD 排除连接点(“我的音乐”)。

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

/XA:SH 跳过隐藏文件和系统文件。

要删除尽可能多的日志信息,请附加以下选项/NP /NS /NDL /NFL /NC