GCP SDK gsutil rsynch未返回进度

时间:2018-06-07 19:57:54

标签: windows vb.net google-cloud-storage gsutil google-cloud-sdk

当我从GCP控制台或.bat文件运行gsutil rsynch时,不会显示完整的进度数据(以前我很确定。)我在第403.0.0节

这是命令:

>gsutil rsync -r -n \\xxxx\WEBSITE\xxx\pages gs://xxx/pages
 Building synchronization state...
 Starting synchronization...

>

如果我运行相同的命令,然后在.bat文件中运行pause,则pause未被命中 - 批处理文件终止。 glist(也许是其他人)将他们的数据输出到控制台并继续进行批处理命令的平衡。

c:
cd "C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\bin\"
gsutil rsync -r -d \\xxx\pages gs://xxx/pages 
pause <<<<< never get here

如果我使用.Net Process,我可以捕获包含进度数据的标准输出。然而,在rsynch完成后,StdOut似乎关闭得很好。

这是一个错误吗?或者我错过了什么?

1 个答案:

答案 0 :(得分:1)

我建议您更新为latest gsutil release。 我在我的机器上以及Cloud Shell上测试了rsync版本4.31,它们显示了命令的进度,列出了要复制的文件。

我在不同的环境中重现了脚本,并观察到脚本在rsync完成后仅在Windows机器上跳过命令。我在Google Cloud SDK Shell和Cygwin for Windows上进行了测试。

但是,在Linux机器上和Cloud Shell上,相同的脚本按预期工作,并在rsync完成后执行后续命令。

此行为取决于各个shell的实现。您将需要捕获意外行为并以所需方式处理该情况,因为解决方案因环境而异。