如何设置我的crontab以在每天晚上11:59执行X脚本而不通过电子邮件发送或创建任何日志?
现在我的crontab看起来像这样
@daily /path/to/script.sh
Run Code Online (Sandbox Code Playgroud)
Mic*_*tum 10
当你做crontab -e时,试试这个:
59 23 * * * /usr/sbin/myscript > /dev/null
Run Code Online (Sandbox Code Playgroud)
这意味着:在每个工作日的每个月的59分钟和23小时(*),执行myscript.
有关更多信息和示例,请参阅man crontab.
按照svrist的回答,取决于你的shell,2>&1应该在 >/dev/null之后,否则你仍会看到stderr的输出.
以下将使stdout和stderr沉默:
59 23 * * * /usr/sbin/myscript > /dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)
以下沉默stdout,但stderr仍将出现(通过stdout):
59 23 * * * /usr/sbin/myscript 2>&1 > /dev/null
Run Code Online (Sandbox Code Playgroud)
"高级Bash脚本编写指南"中有关IO重定向的章节是一个很好的参考 - 搜索2>&1以查看几个示例.
您将通过上述回复接收带有写入stderr的任何文本的电子邮件.有些人也将其重定向,并确保脚本编写日志.
... 2>&1 ....
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
497 次 |
最近记录: |