-
cron表达式格式:cron表达式是一个字符串,字符串通常以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,cron有两种语法格式,如下所示:
- {秒} {分} {小时} {日} {月} {周} {年}
- {秒} {分} {小时} {日} {月} {周}
-
cron表达式各占位符解释:
- {秒}{分} ==> 允许值范围: 0~59 ,不允许为空值,若值不合法,调度器将抛出异常;
- *代表每隔1秒钟触发;
- ,代表在指定的秒数触发,比如”0,15,45”代表0秒、15秒和45秒时触发任务;
- -代表在指定的范围内触发,比如”25-45”代表从25秒开始触发到45秒结束触发,每隔1秒触发1次;
- / 代表触发步进,/前面的值代表初始值,后面的值代表偏移量,比如”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次;
- {时} ==> 允许值范围: 0~23 ,不允许为空值,若值不合法,调度器将抛出异常,占位符和秒数一样。
- {日} ==> 允许值范围: 1~31 ,不允许为空值,若值不合法,调度器将抛出异常。
- {周} ==> 允许值范围: 1~7 (SUN-SAT),1代表星期天(一星期的第一天),以此类推,7代表星期六(一星期的最后一天),不允许为空值,若值不合法,调度器将抛出异常。
- {年} ==> 允许值范围: 1970~2099 ,允许为空,若值不合法,调度器将抛出异常。
- 注意:除了{日}和{周}可以使用”?”来实现互斥,表达无意义的信息之外,其他占位符都要具有具体的时间含义,且依赖关系为:年->月->日期(星期)->小时->分钟->秒数
-
常用表达式:
- 30 * * * * ? 每半分钟触发
- 30 10 * * * ? 每小时的10分30秒触发
- 30 10 1 * * ? 每天1点10分30秒触发
- 30 10 1 20 * ? 每月20号1点10分30秒触发
- 30 10 1 20 10 ? * 每年10月20号1点10分30秒触发
- 30 10 1 20 10 ? 2011 2011年10月20号1点10分30秒触发
- 30 10 1 ? 10 * 2011 2011年10月每天1点10分30秒触发
- 30 10 1 ? 10 SUN 2011 2011年10月每周日1点10分30秒触发
- 15,30,45 * * * * ? 每15秒,30秒,45秒时触发