我第一次运行robocopy时提供了以下开关:选项:. / S / E / COPYALL / PURGE / MIR / MT:128 / R:100000 / W:30
它运行正常(虽然我不建议使用/ r和/ w开关,因为它需要永远完成!)
我第二次使用以下开关运行它(目标目录已经包含了我第一次运行源目标的副本,/ MIR将确保它已更新):选项:. / S / E / COPYALL / PURGE / MIR / MT:128 / R:0 / W:0
这导致服务器在作业开始后约5分钟挂起.它完全挂起,我不得不手动重启它以重新启动它.日志没有给我一个大错误的迹象 – 想法是/ mt:128引起了问题,但我第一次提供了那个开关,那很好.
我第二次将几个开关更改为/ r:0和/ w:0虽然我不认为它们会导致它挂起.
最后是我选择/ MIR有问题的事实,因为目的地之前已经从源头复制了一次 – 我不会这么想,尽管我认为镜像的唯一潜在缺点是它会删除文件目的地不再在源头.如果有人能够对出了什么问题有所了解,那么下次我试一试的时候确保它不会出错.
编辑:我上面提到的开关取自robocopy日志文件,从某种意义上说它们是我指定的开关的解释,它们是:/ MIR / COPY:DATSOU / MT:128 / R / W
第二次编辑:有问题的服务器有一个双网卡,使用Windows Server内置网卡组合.我觉得这是重要的信息,我最初发布问题时没有分享.想调查一下.有问题的NIC是Intel(R)82574L千兆网络连接. NIC团队是“Microsoft网络适配器多路复用器驱动程序”.
/MIR /COPYALL /R /W /IPG:20 /Z
/ IPG:20(数据包间间隙)将大大减慢传输速度,但提供稳定性.
如果网络中断(由坏卡,驱动程序或实际网络问题引起),/ Z(可重新启动模式)对于网络上的副本非常重要,因为它将允许副本从中断处继续.
如果此操作成功完成,则表明您的网络驱动程序存在问题.问题是你使用的驱动程序无法处理/ IPG的吞吐量:0.
作为服务器挂起的根本原因,NIC驱动程序的棺材中的最后一个钉子是更换卡并重新运行导致它挂起的命令.除此之外,你可能还可以拔掉其中一个连接,这样就不会发生多路复用,并运行产生错误的命令.
建议来自technet上的cb42.
…和ss64岩石(只是说!)http://ss64.com/nt/robocopy.html