Open cloudtian opened 3 years ago
cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,主要有如下两种语法格式: Seconds Minutes Hours DayofMonth Month DayofWeek Year Seconds Minutes Hours DayofMonth Month DayofWeek
Seconds Minutes Hours DayofMonth Month DayofWeek Year
Seconds Minutes Hours DayofMonth Month DayofWeek
秒 分 小时 月份中的日期 月份 星期中的日期 年份
,-*/
,-*?/LWC
,-*?/LC#
*
?
-
/
,
L
W
LW
#
0 0 4 5 * ? *
0 30 10 ? * MON-FRI
0 30 10 ? 5L 2002-2006
0 0 10,14,16 * * ?
0 0/30 9-17 * * ?
0 0 12 ? * WED
0 0 12 * * ?
0 30 10 ? * *
0 30 10 * * ?
0 30 10 * * ? *
0 15 10 * * ? 2005
0 * 14 * * ?
0 0/5 14 * * ?
0 0/5 14,18 * * ?
0 0-5 14 * * ?
0 10,44 14 ? 3 WED
0 15 10 ? * MON-FRI
0 15 10 15 * ?
0 15 10 L * ?
0 15 10 ? * 6L
0 15 10 ? * 6L 2002-2005
0 15 10 ? * 6#3
cron表达式
cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,主要有如下两种语法格式:
Seconds Minutes Hours DayofMonth Month DayofWeek Year
Seconds Minutes Hours DayofMonth Month DayofWeek
结构
秒 分 小时 月份中的日期 月份 星期中的日期 年份
各字段含义
,-*/
四个字符,-*/
四个字符,-*/
四个字符,-*?/LWC
八个字符,-*/
四个字符,-*?/LC#
八个字符,-*/
四个字符特殊字符含义
*
标识匹配该域的任意值。例如在Minutes域使用,则表示每分钟都会触发。?
用于日期(天)和星期(天)两个域。匹配域的任意值,但是日期和星期会互相影响。当2个子表达式其中之一被指定了值以后,为了避免冲突,需要将另一个子表达式的值设为?。-
表示范围。例如在Minutes域使用5-20,表示从5分到20分钟每分钟触发一次。/
表示起始时间开始触发,然后每隔固定时间触发一次。例如在Minutes域使用5/20,则意味着5分钟触发一次,而25,45等分别触发一次。,
表示列出枚举值。例如在Minutes域中使用5,20,则表示在5和20分每分钟触发一次。L
表示最后,只能出现在日期和星期域中。例如在星期域中使用5L,则表示在最后的一个星期四触发。W
表示有效工作日(周一到周五)只能出现在星期域中,系统将在离指定日期的最近的有效工作日触发事件。例如在日期中使用5W,如果5日是星期六,则将在最近的工作日4日(星期五)触发。如果5日是星期天,则在6日(星期一)触发;如果5日在星期一至星期五之间,则就在5日触发。且W的最近寻找不会跨过月份。LW
这两个字符可以连用,表示在某个月最后一个工作日,即最后一个星期五。#
用于确定每个月第几个星期几,只能出现在星期域中。例如4#2,表示某个月的第二个星期三常用表达式例子
0 0 4 5 * ? *
表示在每月的5日的凌晨4点0 30 10 ? * MON-FRI
表示周一到周五每天上午10:300 30 10 ? 5L 2002-2006
表示2002-2006年的每个月的最后一个星期四上午10:300 0 10,14,16 * * ?
每天上午10点,下午2点,4点0 0/30 9-17 * * ?
朝九晚五工作时间内每半小时0 0 12 ? * WED
表示每个星期三中午12点0 0 12 * * ?
每天中午12点触发0 30 10 ? * *
每天上午10:30触发0 30 10 * * ?
每天上午10:30触发0 30 10 * * ? *
每天上午10:30触发0 15 10 * * ? 2005
2005年的每天上午10:15触发0 * 14 * * ?
在每天下午2点到下午2:59期间的每1分钟触发0 0/5 14 * * ?
在每天下午2点到下午2:55期间的每5分钟触发0 0/5 14,18 * * ?
在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发0 0-5 14 * * ?
在每天下午2点到下午2:05期间的每1分钟触发0 10,44 14 ? 3 WED
每年三月的星期三的下午2:10和2:44触发0 15 10 ? * MON-FRI
周一至周五的上午10:15触发0 15 10 15 * ?
每月15日上午10:15触发0 15 10 L * ?
每月最后一日的上午10:15触发0 15 10 ? * 6L
每月的最后一个星期五上午10:15触发0 15 10 ? * 6L 2002-2005
2002年至2005年的每月的最后一个星期五上午10:15触发0 15 10 ? * 6#3
每月的第三个星期五上午10:15触发