如何设置crontab在特定时间执行
时间:2020-03-05 18:37:57 来源:igfitidea点击:
如何设置我的crontab在每天的11:59 PM执行X脚本而不给我发送电子邮件或者创建任何日志?
现在我的crontab看起来像这样
@daily /path/to/script.sh
解决方案
回答
当我们执行crontab -e时,请尝试以下操作:
59 23 * * * /usr/sbin/myscript > /dev/null
这意味着:在每个工作日的每个月的每天(*)59分钟和23时执行myscript。
有关更多信息和示例,请参见man crontab。
回答
我们将收到上述回复,并收到一封包含任何写入stderr的文本的电子邮件。有些人也将其重定向,并确保脚本改为写入日志。
... 2>&1 ....
回答
根据svrist的回答,根据shell,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
《高级Bash脚本指南》中有关IO重定向的章节是很好的参考-搜索2>&1可以看到几个示例。