4

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

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

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

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

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

谢谢

4

1 回答 1

7

如果您有较新版本的s3cmd,请尝试--quiet(or -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目前无法通过命令行参数配置详细级别。

于 2013-09-14T10:16:06.517 回答