当我使用python-swift客户端有时我会收到如下错误:
下载对象‘uploads/1/image.png’时出错:对象 GET 失败:https://orbit.brightbox.com/v1/acc-12345/uploads/1/image.png500 内部错误 b'发生错误'
要搜索所有错误并重新下载失败的文件,我需要将命令的输出保存swift
到文件中
我尝试按照以下方式进行:
swift-cli -A https://orbit.brightbox.com/v1/acc-12345 \
-U user -K secret download uploads 2>&1 | tee uploads.log
# and
swift-cli -A https://orbit.brightbox.com/v1/acc-12345 \
-U user -K secret download uploads > uploads.log
但这不起作用。man swift
描述-o选项
对于单个对象下载,您可以使用 -o [--output] 选项将输出重定向到特定文件,或者如果为“-”,则仅重定向到 stdout 或使用 --no-download 实际上不将任何内容写入磁盘。
但是当我尝试使用选项下载目录时-o
如果失败
-o option only allowed for single file downloads
当我使用 swift CLI 下载目录时,如何将日志保存到文件中?
答案1
实际上将输出重定向到文件可以使用swift-client
:
swift-cli -A https://orbit.brightbox.com/v1/acc-12345 \
-U user -K secret download uploads > uploads.log
我感到很困惑,因为在我启动上面的命令之后,在另一个终端窗口中我
tail -f uploads.log
但它没有给我任何输出(就像我在运行没有重定向的下载命令时看到的那样)。
好像这是swift-client
批量写入文件,我需要等待大约一分钟,直到tail -f
将一百行这样的内容转储到控制台中
uploads/documents/1/image.png [auth 0.000s, headers 0.390s, total 14.361s, 0.034 MB/s]