【问题标题】:s3cmd, set low verbositys3cmd,设置低详细度
【发布时间】:2013-09-13 09:08:46
【问题描述】:

我目前使用 s3cmd 将备份从我们的服务器同步到 amazon s3。我使用类似于以下的 cron 来执行此操作:

MAILTO=my@email.address
01 03 * * * s3cmd sync /root/backup/backups/ s3://somebucket/

这只是一个示例,要同步的文件已经在备份目录中。目前,当我使用它时,我经常收到有关上传失败的警告(对等连接重置),然后重试。重试 1 或 2 次后,上传通常会到达那里。

我想知道的是,我能否将 s3cmd 的详细程度更改为仅在实际出错时记录输出,而不是发出警告,以便仅在需要查看某些内容时收到电子邮件?

看来您可以在 .s3cmd 首选项文件中进行设置,但我想确定一下。

谢谢

【问题讨论】:

    标签: python amazon-s3 s3cmd


    【解决方案1】:

    如果您有更新版本的s3cmd,请尝试--quiet(或-q)选项:

    MAILTO=my@email.address
    01 03 * * * s3cmd sync --quiet /root/backup/backups/ s3://somebucket/
    

    如果没有,只需将STDOUT 重定向到/dev/null,如下所示:

    MAILTO=my@email.address
    01 03 * * * s3cmd sync /root/backup/backups/ s3://somebucket/ >/dev/null
    

    错误会发送到STDERR,因此仍会通过电子邮件发送出去。

    关于 S3CMD 和 STDERR 的更新:

    正如 Valguss 指出的那样,s3cmd 似乎总是将调试、信息、警告和错误消息记录到STDERR,因此上述方法不起作用。

    但是,可以从.s3cfg 文件(在本例中位于与 cron 作业关联的用户的主目录中)控制详细级别:

    [default]
    verbosity = ERROR
    

    此时无法通过命令行参数配置ERROR 的详细级别。

    【讨论】:

    • 谢谢。我看过了,安静的选项在 github 上的 1.5 alpha 3 版本中,他们的 YUM repo 上的发布版本是 1.0。我会尝试重定向,看看会发生什么。
    • 好的,刚刚检查过,重定向也不起作用。似乎警告也被发送到 stderr。我会给作者发电子邮件,看看他们是否能有所启发。
    • 更改verbosity = ERROR 后仍然得到所有相同的输出。不知道为什么这个技巧不起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-20
    • 1970-01-01
    • 1970-01-01
    • 2021-08-28
    • 1970-01-01
    相关资源
    最近更新 更多