如何设置我的crontab以在每天晚上11:59执行X脚本而不通过电子邮件发送或创建任何日志?
现在我的crontab看起来像这样
@daily /path/to/script.sh
答案 0 :(得分:10)
当你做crontab -e时,试试这个:
59 23 * * * /usr/sbin/myscript > /dev/null
这意味着:每个工作日的每个月59分钟和每天23小时(*)执行myscript。
有关更多信息和示例,请参阅 man crontab 。
答案 1 :(得分:6)
根据您的shell跟进svrist's answer,,2>& 1应该在>之后 / dev / null或者你仍会看到stderr的输出。
以下将使stdout和stderr沉默:
59 23 * * * /usr/sbin/myscript > /dev/null 2>&1
以下沉默stdout,但stderr仍将出现(通过stdout):
59 23 * * * /usr/sbin/myscript 2>&1 > /dev/null
The Advanced Bash Scripting Guide's chapter on IO redirection是一个很好的参考 - 搜索2>& 1来查看几个示例。
答案 2 :(得分:5)
您将使用上述回复接收带有写入stderr的任何文本的电子邮件。有些人也将其重定向,并确保脚本写入日志。
... 2>&1 ....