平时很少用 crontab
配置定时任务。最近配了一个,但由于对规则不熟,把自己给坑了。
我的需求是:配置一个每 12
个小时执行一次的任务,于是想当然的用 crontab
配置了如下任务:
* */12 * * * bash /home/zhoumin/xxx.sh
期待着每天自动执行两次上面的脚本,晚上 12
点一次,中午 12
点一次。
结果第二天早上起来看日志,才发现昨夜里 12
点那一个小时里,脚本被执行了 31
次,有点不理解,为什么是 31
次?
查了一些资料后才发现原来是由于我将 crontab
任务配置中的 分钟位 配置为了 “*”
,导致在 12
点那一个小时内每分钟执行一次任务,但又由于我在脚本里判断了重入的问题,确保了同一时间只有一个脚本运行,而且每次运行大概 2
分钟,所以上面的脚本被成功执行了 31
次。文章来源:https://www.toymoban.com/news/detail-485342.html
正确的配置应该是将 分钟位 配置为 0
,这样确保每 12
个小时只执行一次任务,如下所示:文章来源地址https://www.toymoban.com/news/detail-485342.html
0 */12 * * * bash /home/zhoumin/xxx.sh
到了这里,关于crontab配置每12个小时执行一次任务的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!