在Windows上使用gsutil cp重试失败的副本

在Windows上使用gsutil cp重试失败的副本,windows,google-cloud-storage,cp,gsutil,Windows,Google Cloud Storage,Cp,Gsutil,我在Windows上使用gsutil。有时,将文件从我的PC复制到Google云存储桶时,我会收到如下消息: “CommandException:某些临时组件未成功上载。请重试此上载” “CommandException:无法传输n个文件/对象。” 我正在使用-L参数,但是,目前,我无法有效地捕获提到的错误-我知道在Linux环境中使用-c和-L是可能的。相反,我循环使用gsutil cp-L命令大约10次,在实践中,这样做的目的是复制所有文件 是否有更好的方法来处理此命令异常,以便在gsu

我在Windows上使用gsutil。有时,将文件从我的PC复制到Google云存储桶时,我会收到如下消息:

  • “CommandException:某些临时组件未成功上载。请重试此上载”
  • “CommandException:无法传输n个文件/对象。”
我正在使用-L参数,但是,目前,我无法有效地捕获提到的错误-我知道在Linux环境中使用-c和-L是可能的。相反,我循环使用gsutil cp-L命令大约10次,在实践中,这样做的目的是复制所有文件


是否有更好的方法来处理此命令异常,以便在gsutil失败时捕获并重试该操作,直到它最终将所有文件复制到目标存储桶?某种错误级别的功能?

你能澄清一下吗:当你说“我循环使用gsutil cp-L命令大约10次,实际上,这会起作用并最终复制所有文件”——你是说这在Linux上适用,但在Windows上不适用?或者你是说它可以在Windows上运行,但是你想找到一种方法来避免多次重试吗?嗨,迈克!我正在Windows上工作,事实上,对同一个gsutil cp-L进行10次重试就足以复制所有文件,但是,正如您在问题的第二部分所暗示的,我想找到一种更好的方法来捕获这些命令异常,这样我可以重试最少的次数。例如,类似::loop gsutil cp-L cp.log的内容。。。如果有命令异常goto loop:exit我在Linux中看到了一种处理此问题的方法,但在Windows中没有看到。因此,需要明确的是:gsutil cp-L只会重新复制以前未成功的文件(它在写入的日志文件中维护了成功内容的清单)。所以,它实际上应该是非常有效的,即使在循环中有很多次。不过,我很好奇——你知道是什么失败导致了这么多次尝试?您使用的网络是否存在间歇性问题?如果您不确定,请尝试运行gsutil-dcp。。。这将输出一组调试信息。如果您发布,请删除授权:headers。Mike,在每个文件传输512 MB或更多的文件时,我遇到了与网络相关的问题。好消息是,我发现使用>2将stderr从gsutil重定向到一个文件之后,我可以在该文件中检查CommandException的潜在出现,并循环,直到找不到出现。无论如何,非常感谢您在这个问题上花费的时间和兴趣。