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

我如何设置我的crontab在每天晚上11:59执行X脚本而不发送电子邮件或创建任何日志?

现在我的crontab看起来像这样

@daily /path/to/script.sh
0

3 答案

当你做crontab -e时,试试这个:

59 23 * * * /usr/sbin/myscript > /dev/null

这意味着:每个工作日每个月每天(*)59分和23小时,执行myscript。

请参阅男人的crontab 更多的一些信息和例子。

0
额外

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

... 2>&1 ....
0
额外

Following up on svrist's answer, depending on your shell, the 2>&1 should go after > /dev/null or you will still see the output from stderr.

以下将沉默标准输出和标准错误:

59 23 * * * /usr/sbin/myscript > /dev/null 2>&1

以下沉默stdout,但stderr仍然会出现(通过标准输出):

59 23 * * * /usr/sbin/myscript 2>&1 > /dev/null

The Advanced Bash Scripting Guide's chapter on IO redirection is a good reference--search for 2>&1 to see a couple of examples.

0
额外