如何设置我的 crontab 以在每天晚上 11:59 执行 X 脚本而不给我发电子邮件或创建任何日志?
现在我的 crontab 看起来像这样
@daily /path/to/script.sh
当你执行 crontab -e 时,试试这个:
59 23 * * * /usr/sbin/myscript > /dev/null
这意味着:在每个工作日的每个月的 59 分钟和 23 小时 (*) 执行 myscript。
有关更多信息和示例,请参阅man crontab 。
跟进svrist 的回答,根据你的 shell,2>&1 应该在> /dev/null 之后,否则你仍然会看到 stderr 的输出。
以下将使 stdout 和 stderr 静音:
59 23 * * * /usr/sbin/myscript > /dev/null 2>&1
以下使标准输出静音,但标准错误仍会出现(通过标准输出):
59 23 * * * /usr/sbin/myscript 2>&1 > /dev/null
Advanced Bash Scripting Guide 的关于 IO 重定向的章节是一个很好的参考——搜索 2>&1 以查看几个示例。
您将通过上述回复收到电子邮件,其中包含写入 stderr 的任何文本。有些人也将其重定向,并确保脚本改为写入日志。
... 2>&1 ....