现在我有如下的 cron:
45 * * * * www-data php /var/www/console cmd:dispatch --env=prod 2>&1 > /var/log/cron/cmd_dispatch.log
我想禁用电子邮件发送。为了实现这一点,我可以添加&> /dev/null
以下内容:
45 * * * * www-data php /var/www/console cmd:dispatch --env=prod 2>&1 > /var/log/cron/cmd_dispatch.log; &> /dev/null
它会仅禁用电子邮件发送吗?
答案1
如果您确实想阻止 cron 发送电子邮件,您可以使用“-m off -s”参数运行该服务。
- “-m off” 禁用 cron 电子邮件
- “-s” 将未捕获的任何输出发送到系统日志
这是假设您希望完全禁用 cron 电子邮件,而不是仅针对给定的条目。
答案2
我不确定它会不会,但让我们正确地修复这个问题。
重定向的顺序很重要。
您要做的就是将 stderr 和 stdout 消息都记录到该文件中,因此您应该:
... >/var/log/cron/cmd_dispatch.log 2>&1
也可以看看https://www.gnu.org/software/bash/manual/html_node/Redirections.html