如何使用gsutil rsync执行日志记录

fre*_*rik 4 google-cloud-storage gsutil

执行安静的rsync时,记录任何错误或警告的正确方法是什么?

这是我目前从我的crontab运行的:

gsutil -m -q rsync -r -C /mount1/share/folder gs://my-bucket-1/folder/ > /mount2/share/folder/gsutil.log
Run Code Online (Sandbox Code Playgroud)

由于日志文件总是完全空的,而且我正在上传数TB的数据,我开始认为甚至错误和警告都被压制了.

fre*_*rik 6

在意识到这与将stdout和/或stderr管理到文件的方式有关之后,答案实际上就在这个现有线程中:如何将stdout和stderr重定向到文件

因此,尽可能将日志记录到一个日志文件中的简单解决方案可能是:

gsutil -d rsync [src] [dst] &> [logfile]
Run Code Online (Sandbox Code Playgroud)

...在哪里-d启用调试输出.我发现这是显示受错误影响的文件的唯一方法,例如CommandException: 3 files/objects could not be copied.请注意,-d公开身份验证凭据.

  • -d 用于删除 dst_url 下未在 src_url 下找到的额外文件,请使用 -D 代替。 (2认同)