Cron Job将Stdout / Stderr重定向到日志文件并仅发送Stderr邮件

时间:2019-12-06 03:56:13

标签: cron stdout stderr mailto

正如标题所示,我希望我的cron作业将STDOUT重定向到日志文件,并仅邮寄STDERR输出。如果您对如何解决这个问题有想法,或者让我了解一些现有技术,那将非常有帮助。

有关更多上下文,我正在使用github的备份实用工具创建github企业服务器的备份。 cron作业执行Shell脚本和according to their documentation,它将STDOUT重定向到日志文件并生成带有STDERR输出的电子邮件。但是,根据我的理解,它将STDOUT和STDERR都重定向到日志文件。他们的例子cron:

MAILTO=admin@example.com

0 * * * * /opt/backup-utils/bin/ghe-backup -v 1>>/opt/backup-utils/backup.log 2>&1

1 个答案:

答案 0 :(得分:0)

在Linux中,stderr是文件描述符2;您真正想要做的是为stderr指定另一个文件名,如下所示

0 * * * * /opt/backup-utils/bin/ghe-backup -v 1>>/opt/backup-utils/backup.log 2>/opt/backup-utils/backup_stderr.log