我得到了几个用于文件同步的传统bat脚本。他们使用robocopy。根据{{3}},默认情况下,有一种重试机制: 100万重试,重试之间 30秒。
因此,如果我理解得很好,如果某些内容变坏(例如目标文件夹中的磁盘空间不足),脚本将在大约 347天之前运行。
我很欣赏存在重试机制,但我不明白为什么默认行为就是这样。
默认参数值应该与普通和基本用例相匹配,对于文件副本,我几乎看不到重试点;我的意思是,如果它仍然不起作用,比方说,5次,这意味着应该修复某些地方(网络停机,磁盘死机......),值得停止并引发错误。
这种违约行为可能是什么原因?
答案 0 :(得分:1)
然而 - 我会建议这种默认行为的意图是用户期望robocopy在完成时将是100%。跳过意味着副本不完整。管理员注意文件权限和锁的状态以确保成功,否则可以更改选项。此命令不适用于一般消费,并且是针对管理员的。
要缓解此问题,请使用/r:
和/w:
选项将其更改为适合您用例的内容。
例如
robocopy /r:3 /w:10 c:\src c:\dest
将c:\ src复制到c:\ dest,重试时可能需要重试10次,重试次数为10秒。
您自己的文档链接显示了这些选项