如何设置crontab以在特定时间执行

Dyl*_*anJ 18 cron settings

如何设置我的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小时(*),执行m​​yscript.

有关更多信息和示例,请参阅man crontab.


Dom*_*ney 6

按照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以查看几个示例.


svr*_*ist 5

您将通过上述回复接收带有写入stderr的任何文本的电子邮件.有些人也将其重定向,并确保脚本编写日志.

... 2>&1 ....
Run Code Online (Sandbox Code Playgroud)