s3cmd,设置低冗长度

时间:2013-09-13 09:08:46

标签: python amazon-s3 s3cmd

我目前使用s3cmd将我们服务器的备份同步到亚马逊s3。我使用类似于以下内容的cron执行此操作:

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

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

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

看来您可以在.s3cmd首选项文件中设置它,但我想确保。

由于

1 个答案:

答案 0 :(得分:5)

如果您使用的是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