Robocopy 是否可以切换增量驱动器备份?

Robocopy 是否可以切换增量驱动器备份?

我有两个硬盘:

G:是连接到 Windows 10 PC 的外部 USB 驱动器 H:是网络驱动器(连接到家庭网络路由器 USB 端口的另一个 USB 驱动器)

我已将所有文件和子文件夹从 G:/my_data_folder 复制到 H:/my_data_folder。目前,H:/my_data_folder 是 G:/my_data_folder 的精确副本。

现在我想创建一个 Robocopy 命令,可以在 Win10 PC 上定期运行,从 G: 复制到 H:

  • G:/my_data_folder 中任何在 H:/my_data_folder 中不存在的文件/文件夹
  • G:/my_data_folder 中的任何文件,如果已存在于 H:/my_data_folder 中,但版本较新(即最近保存)。此新复制的文件将覆盖 H: 上的旧文件。

我对 Robocopy 的理解是,不复制同一日期/时间的现有文件是默认行为,因此我不需要明确排除它们。

我不希望 H:/my_data_folder 镜像 G:/my_data_folder。也就是说,永远不要从 H:/my_data_folder 删除任何内容,即使它现在不在 G:/my_data_folder 中。

我不需要日志文件,但我想在屏幕上看到它做了什么。

以下是我尝试编写适当的 robocopy 命令:

robocopy g:/my_data_folder h:/my_data_folder /e /np /fft /mt:8 /z /r:5 /w:5

在哪里:

  • /e = 复制甚至空目录
  • /np = 没有文件复制进度 - 不需要它
  • /fft = 如果由于网络驱动器导致任何日期/时间错误
  • /mt:8 = 使用 8 个并发线程来加快速度
  • /z = 可重启模式,以便可以从中断的传输中恢复
  • /r:5 = 尝试最多 5 次重启
  • /w:5 = 每次重启之间等待 5 秒

这能达到我想要的效果吗?我是否错过了完成这项任务的任何关键开关?

谢谢。

答案1

你的脚本本身就已经很完美了。

只是为了解决/XXharrymc 的回答中提出的稍微令人困惑的“以防万一使用”论点:

为了避免目标文件夹中的内容被删除,我建议添加开关/XX。这应该是默认设置,但是为了以防万一,我还是会明确添加它。

我建议不要“以防万一”而添加冗余开关。这种/XX开关在您的情况下不会起任何作用,只会造成混乱。

另一个答案中引用清楚地解释了该开关的用途:

/XX(不包括额外费用)如果与 /Purge 或 /Mir 结合使用,排除额外开关将优先并阻止从目标中删除任何文件。”

由于您的脚本没有/MIR也没有/PURGE开关,我们可以 100% 肯定地说添加/XX“以防万一”是多余的。

我已经使用 Robocopy 多年,并且已经传输了数 TB 的数据,而从未使用过开关/XX。Robocopy 从未删除过任何“额外”文件。

进一步澄清可见这里

只是想澄清一下!

答案2

为了避免目标文件夹中的内容被删除,我建议添加开关/xx。这应该是默认设置,但是为了以防万一,我还是会明确添加它。

/xx     Excludes extra files and directories.

此开关进一步描述作为:

/XX : eXclude "eXtra" files and dirs (present in destination but not source)
      This will prevent any deletions from the destination. (this is the default)

相关内容