cron表达式

169 阅读3分钟
  1. cron表达式格式:cron表达式是一个字符串,字符串通常以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,cron有两种语法格式,如下所示:

    1. {秒} {分} {小时} {日} {月} {周} {年}
    2. {秒} {分} {小时} {日} {月} {周}
  2. cron表达式各占位符解释:

    1. {秒}{分} ==> 允许值范围: 0~59 ,不允许为空值,若值不合法,调度器将抛出异常;
    2. *代表每隔1秒钟触发;
    3. ,代表在指定的秒数触发,比如”0,15,45”代表0秒、15秒和45秒时触发任务;
    4. -代表在指定的范围内触发,比如”25-45”代表从25秒开始触发到45秒结束触发,每隔1秒触发1次;
    5. / 代表触发步进,/前面的值代表初始值,后面的值代表偏移量,比如”0/20”或者”/20”代表从0秒钟开始,每隔20秒钟触发1次,即0秒触发1次,20秒触发1次,40秒触发1次;”5/20”代表5秒触发1次,25秒触发1次,45秒触发1次;”10-45/20”代表在[10,45]内步进20秒命中的时间点触发,即10秒触发1次,30秒触发1次;
    6. {时} ==> 允许值范围: 0~23 ,不允许为空值,若值不合法,调度器将抛出异常,占位符和秒数一样。
    7. {日} ==> 允许值范围: 1~31 ,不允许为空值,若值不合法,调度器将抛出异常。
    8. {周} ==> 允许值范围: 1~7 (SUN-SAT),1代表星期天(一星期的第一天),以此类推,7代表星期六(一星期的最后一天),不允许为空值,若值不合法,调度器将抛出异常。
    9. {年} ==> 允许值范围: 1970~2099 ,允许为空,若值不合法,调度器将抛出异常。
    10. 注意:除了{日}和{周}可以使用”?”来实现互斥,表达无意义的信息之外,其他占位符都要具有具体的时间含义,且依赖关系为:年->月->日期(星期)->小时->分钟->秒数
  3. 常用表达式:

    1. 30 * * * * ? 每半分钟触发
    2. 30 10 * * * ? 每小时的10分30秒触发
    3. 30 10 1 * * ? 每天1点10分30秒触发
    4. 30 10 1 20 * ? 每月20号1点10分30秒触发
    5. 30 10 1 20 10 ? * 每年10月20号1点10分30秒触发
    6. 30 10 1 20 10 ? 2011 2011年10月20号1点10分30秒触发
    7. 30 10 1 ? 10 * 2011 2011年10月每天1点10分30秒触发
    8. 30 10 1 ? 10 SUN 2011 2011年10月每周日1点10分30秒触发
    9. 15,30,45 * * * * ? 每15秒,30秒,45秒时触发