cron -如何设置在特定时间执行的crontab

Translate

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

现在我的crontab看起来像这样

@daily /path/to/script.sh
This question and all comments follow the "Attribution Required."

所有的回答

Translate

当您执行crontab -e时,请尝试以下操作:

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

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

看到男子crontab有关更多信息和示例。

来源
Translate

跟进svrist的回答,根据您的外壳,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

有关IO重定向的《高级Bash脚本指南》的一章是很好的参考-搜索2>&1可以看到几个示例。

来源
Translate

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

... 2>&1 ....
来源