下载目录时如何将 python-swiftclient 的输出保存到文件?

下载目录时如何将 python-swiftclient 的输出保存到文件?

当我使用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]

相关内容