例如,我可以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 输出。