使用 Robocopy 进行文件服务器迁移

Bin*_*esh 4 windows-server-2003 file-server robocopy windows-server-2012

我计划将文件共享从 Windows Server 2003 迁移到 Server 2012 R2(它有超过 500 GB 的数据。仅供参考 - 它没有 DFS)。

我想到使用以下命令将数据从源服务器复制到目标服务器:

robocopy "\\Source server\folder\" "\\Target server\folder\" /S /E /COPY:DATSOU /R:1 /W:10 /TEE /log:<log path.txt>
Run Code Online (Sandbox Code Playgroud)

在切换期间,我计划再次运行相同的命令来复制任何新的/修改过的文件。

上述命令是否有任何问题,我是否需要在切换期间包含“/XO”以排除再次复制现有文件?

小智 10

你提到的命令很好,几乎达到了你设定的目标。如果您真的想执行 1:1 迁移,我建议您考虑以下选项:

robocopy "\\Source server\folder\" "\\Target server\folder\" /MIR /COPY:DATSOU /ZB /R:1 /W:10 /TEE /log:<log path.txt>
Run Code Online (Sandbox Code Playgroud)
  • /MIR - 这将镜像目录树 - 源中存在的任何内容都将复制到目标。源中不存在的任何内容都将从目标中移除(删除)。通过此选项,您将确保不会将旧数据(已在源上删除的数据)迁移到新服务器。此选项等效于 /E 加 /PURGE。

  • /ZB - 使用可重启模式;如果访问被拒绝使用备份模式。 可重新启动模式- 使用此选项,如果在部分复制任何特定文件时复制被中断,则 robocopy 的下一次执行可以从中断处继续执行,而不是重新复制整个文件。例如,当 robocopy 将在大文件 (2 GB) 上工作并中断时,10 秒后 ( /W:10 ) 它将尝试再次复制它 ( /R:1 ) 但将从它结束的部分开始复制 (不是从头开始)。 备份模式- 与 robocopy 如何从源系统读取文件有关。它允许复制文件,否则您可能会在文件本身或尝试复制文件的属性/权限时收到拒绝访问错误。您确实需要在管理员上下文中运行或以其他方式拥有使用此标志的备份权​​限。

您不需要在最终脚本中包含/XO选项 - robocopy 会跳过旧文件,而不是更新文件。

  • 写日志时,建议你也使用/NP,否则日志满1%、2%、3%等... (2认同)