Cron 表达式由 6 或 7 个部分组成,分别表示秒、分钟、小时、日、月、星期和年(可选)。每个部分通过空格分隔,并且可以使用特定的字符和值来表示不同的时间间隔和模式。
-
秒(0 - 59)
-
*
:表示每一秒 -
,
:表示列举多个值,如10,20,30
表示 10 秒、20 秒和 30 秒 -
-
:表示范围,如10-20
表示 10 秒到 20 秒 -
/
:表示步长,如*/10
表示每 10 秒
-
-
分钟(0 - 59)
-
规则同秒部分
-
-
小时(0 - 23)
-
规则同秒部分
-
-
日(1 - 31)
-
*
:表示每一天 -
,
:列举多个值 -
-
:表示范围 -
/
:表示步长 -
L
:表示一个月中的最后一天 -
W
:表示离给定日期最近的工作日(周一到周五)
-
-
月(1 - 12 或 JAN - DEC)
-
*
:表示每个月 -
,
:列举多个值 -
-
:表示范围 -
英文月份缩写,如
JAN
、FEB
等
-
-
星期(1 - 7 或 SUN - SAT)
-
1
表示星期日,7
表示星期六 -
*
:表示每星期 -
,
:列举多个值 -
-
:表示范围 -
#
:表示第几个星期几,如4#3
表示第三个星期四
-
-
年(可选,1970 - 2099)
常用cron表达式例子
(1.1)0/2 * * * * ? 表示每2秒 执行任务
(1.2)0 0/2 * * * ? 表示每2分钟 执行任务
(2)0 15 10 ? * MON-FRI 表示周一到周五每天上午10:15执行作业
(3)0 15 10 ? 6L 2002-2006 表示2002-2006年的每个月的最后一个星期五上午10:15执行作
(4)0 0 10,14,16 * * ? 每天上午10点,下午2点,4点
(5)0 0/30 9-17 * * ? 朝九晚五工作时间内每半小时
(6)0 0 12 ? * WED 表示每个星期三中午12点
(7)0 0 12 * * ? 每天中午12点触发
(8)0 15 10 ? * * 每天上午10:15触发
(9)0 15 10 * * ? 每天上午10:15触发
(10)0 15 10 * * ? 每天上午10:15触发
(11)0 15 10 * * ? 2005 2005年的每天上午10:15触发
(12)0 * 14 * * ? 在每天下午2点到下午2:59期间的每1分钟触发
(13)0 0/5 14 * * ? 在每天下午2点到下午2:55期间的每5分钟触发
(14)0 0/5 14,18 * * ? 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
(15)0 0-5 14 * * ? 在每天下午2点到下午2:05期间的每1分钟触发
(16)0 10,44 14 ? 3 WED 每年三月的星期三的下午2:10和2:44触发
(17)0 15 10 ? * MON-FRI 周一至周五的上午10:15触发
(18)0 15 10 15 * ? 每月15日上午10:15触发
(19)0 15 10 L * ? 每月最后一日的上午10:15触发
(20)0 15 10 ? * 6L 每月的最后一个星期五上午10:15触发
(21)0 15 10 ? * 6L 2002-2005 2002年至2005年的每月的最后一个星期五上午10:15触发
(22)0 15 10 ? * 6#3 每月的第三个星期五上午10:15触发
一、按天执行
1、0 15 10 ? * * 每天上午10:15执行
2、0 0 10 * * ? 每天上午10点执行
3、0 0 10,14,16 * * ? 每天上午10点,14点,16点执行
4、0 0/30 00-02 * * ? 每天0点到3点每30分钟执行一次
5、0 0/30 10-11,14-16 * * ? 每天10点到12点,14点到15点,每30分钟执行一次
6、0 0/5 14 * * ? 每天14点到14:55分,每5分钟执行一次
7、0 0/5 14,18 * * ? 每天下午14到14:55分,18点到18:55分,每5分钟执行一次
8、0 0-20 14 * * ? 每天下午14到14:20分,每1分钟执行一次
二、按周执行
1、0 0 11 ? * 2 每周2,11点执行
2、0 0 11 ? * 2,4 每周2,周4, 11点执行
3、0 10 11 ? * 2,4 每周2,周4, 11点10分执行
4、0 10 11 ? * 1-5 每周1到周5, 11点10分执行
三、按月执行
1、 0 20 10 15 * ? 每月15日,10点20分执行
2、0 20 10 L * ? 每月最后一天,10点20分执行
3、0 20 10 15,16 * ? 每月15,16日,10点20分执行
4、0 20 10 ? * 6L 每月的最后一个星期五10点20分执行
5、0 15 10 ? * 6#3 每月的第三个星期五10点20分执行