将 crontab 的所有 stderr 输出记录到文件中

将 crontab 的所有 stderr 输出记录到文件中

例如,我可以stderr通过以下方式记录一个脚本:

* * * * * run_script.sh > /var/log.txt 2>&1

但我想stderr在我的 crontab 中记录所有脚本。我可以附加> /var/log.txt 2>&1到所有脚本,但是如果我有数百个脚本,那就不好了cron。还有另一种更简单的方法吗?

ベストアンサー1

在 crontab 中,您可以将 MAILTO 设置为指向运行脚本的邮件别名。该脚本将接受邮件消息,去掉标题和其他内容,并使用记录器记录其余部分。由于所有 cron 脚本输出都发送到 MAILTO 指定的地址,因此您可以捕获所有内容。

示例:在 crontab 中

MAILTO=myalias

在 /etc/mail/aliases 中(假设您使用的是 sendmail)

myalias:"|/usr/local/bin/my-processing-script.sh"

并让脚本去掉邮件标头并处理 cron 输出。

おすすめ記事