1、在开发任务时候我们经常会使用到定时任务,而cron表达式则是定时任务必不可少的。下面就让我们来谈谈cron表达式吧。
2、首先cron通常是由 6 到 7位组成。下面我举几个例子:
0 0 5 1 * ?
该表达式代表每个月的1号5点0分0秒执行,
其中第一个0代表秒(0~59);
第二个0代表分钟(0~59);
第三个5代表小时(0~23);
第四个1代表日(随大小月变化);
第五个*代表月份(1~12),此处由于是每个月所以使用通配符*表示;
第六个?代表星期,此处问号代表无论星期几都执行,此处为不指派星期几。
其实还有一位也就是最后一位,年,如果是每年都执行可以忽略此位,但是如果需要指定年的话,
如下:
0 0 5 1 * ? 2024-2025
此处2024-2025为第7位,表示24和25年这两年执行,如果每年都执行的话可以忽略此位不写。
3、cron的表达式还有如下符号:
*
:表示该字段的所有可能值。,
:用逗号分隔的列表值,如“1,3,4”。-
:表示一个范围,如“0-4”,表示从0到4。/
:表示起始时间后每多久执行一次任务。例如,“*/15”在分钟字段中意味着每15分钟执行一次。
其中 * 和 - 在前面已经有讲解。
如下是关于 , 的使用:
0,5,10 0 5 1 * ?
其中第一位变成了 0,5,10 。此位是秒,所以是0秒,5秒,和10秒都会执行一次。
所以0,5,10 0 5 1 * ? 表达式代表,每个月的1号的5点,0分,0秒和5秒,10秒都执行一次。
如下是关于 / 的使用:
*/5 * * * *
*/5 * * * *
的意思是“每5分钟”执行一次,而不考虑具体的时间、日期或星期几。
4、总结:以上就是关于cron表达式的一些使用。
附图: