Cron Job Redirect Stdout / Stderr到日志文件和仅邮件Stderr

问题描述 投票:0回答:1

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

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

[email protected]

0 * * * * /opt/backup-utils/bin/ghe-backup -v 1>>/opt/backup-utils/backup.log 2>&1
cron stdout stderr mailto
1个回答
0
投票

您正在将文件描述符1(即stdout附加到文件,然后将所有其他文件描述符转到它们的常规接收器:控制台(或捕获应用程序输出的任何内容)。

换句话说,您要附加所有stdout(其中有一些)和stderr(它们中没有),然后将它们与2>&1组合在一起。

您真正想做的是

0 * * * * /opt/backup-utils/bin/ghe-backup -v >> /opt/backup-utils/backup.log 2>&1
© www.soinside.com 2019 - 2024. All rights reserved.