zoukankan      html  css  js  c++  java
  • crontab任务重复执行?不执行?不按照配置执行?大概率是配置出错了!!!

    在使用crontab配置定时任务是,容易大意出错的配置记录,有温度的文章分享,有态度的日常记录~

    一、情景1

    设置每天凌晨执行某一任务,结果发现凌晨0点没分钟都执行了一次,我的天!!!

    1、分析原因可能是没有配置crontab的minute,例如:

    * 0 * * * echo 'test crontab' >> test.txt
    

    2、正确的设置应该是:

    * 0 * * * echo 'test crontab' >> test.txt
    

    可能因为大意而导致每天任务执行60次,太可怕了,如果是插入数据,原本插入1万条数据,结果一天就插入了60万条数据,想想你的mongo的存储能跟得上吗?

    二、情景2

    每一分钟执行某一任务,发现只是每小时的第一分钟执行了,尴尬不!!!
    1、分析原因可能是crontab的minute设置错误,列入设置成了如下:

    1 * * * * echo 'test crontab' >> test.txt
    

    2、正确设置应该是:

    */1 * * * * echo 'test crontab' >> test.txt
    # 或者
    * * * * * echo 'test crontab' >> test.txt
    

    大意失荆州,配置需谨慎~

    三、情景3

    设置每40分钟执行一次,结果发现只有在整点或者40分种的时候执行,惊喜不?
    1、原因是设置分钟不是60的倍数,则会在整点(分钟数为0)和分钟%设置时间 = 0是执行(有点绕,稍等分析原因),例如:

    * */40 * * * echo 'test crontab' >> test.txt # 只会在整点和40分钟的时候执行
    

    2、分析具体原因
    crontab执行标准是,每分钟判断某个任务是否被执行:

    • 每分钟判断一次任务是否执行
    • 当前分钟数除以设置分钟数余数为0则执行

    回到问题,设置*/40

    • 整点时,分钟数为0,0除以40余数为0,则执行任务
    • 40分钟时,分钟数为40,40除以40余数为0,则执行任务

    不积跬步,无以至千里;不积小流,无以成江海。

  • 相关阅读:
    【机器学习】ICA特征提取
    【机器学习】ICA算法简介
    【机器学习】ICA算法简介
    【机器学习】ICA 原理以及相关概率论,信息论知识简介
    【机器学习】ICA 原理以及相关概率论,信息论知识简介
    【机器学习】数据处理中白化Whitening的作用图解分析
    【机器学习】数据处理中白化Whitening的作用图解分析
    【科普杂谈】IP地址子网划分
    【科普杂谈】IP地址子网划分
    【科普杂谈】三层交换机
  • 原文地址:https://www.cnblogs.com/huiwenhua/p/14485279.html
Copyright © 2011-2022 走看看