代码之家  ›  专栏  ›  技术社区  ›  Hirurg103 Tilendor

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

  •  0
  • Hirurg103 Tilendor  · 技术社区  · 6 年前

    有时,当我从云下载文件时, python-swiftclient ,就像这个:

    下载对象“uploads/1/image.png”时出错:对象获取失败: https://orbit.brightbox.com/v1/acc-12345/uploads/1/image.png 500内部错误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,或者使用——不下载,实际上不向磁盘写入任何内容。

    但是当我尝试下载目录时 -o 如果失败,则选择

    -o option only allowed for single file downloads
    

    使用swift cli下载目录时,如何将日志保存到文件中?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Hirurg103 Tilendor    6 年前

    实际上,将输出重定向到文件 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客户端 批量写入文件,我需要等待大约一分钟,直到 tail -f 像这样把上百行的数据放到控制台中

    uploads/documents/1/image.png [auth 0.000s, headers 0.390s, total 14.361s, 0.034 MB/s]