每秒 允许的通配符[, - * /]
周期从 -
秒开始,每 秒执行一次
指定
分钟 允许的通配符[, - * /]
周期从 - 分钟
分钟开始,每 分钟执行一次
指定
00 01 02 03 04 05 06 07 08 09
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
小时 允许的通配符[, - * /]
周期从 - 小时
小时开始,每 小时执行一次
指定
AM: 00 01 02 03 04 05 06 07 08 09 10 11
PM: 12 13 14 15 16 17 18 19 20 21 22 23
日 允许的通配符[, - * / L W]
不指定
周期从 -
日开始,每 天执行一次
每月 号最近的那个工作日
每月最后一天
指定
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
月 允许的通配符[, - * /]
不指定
周期从 -
日开始,每 月执行一次
指定
1 2 3 4 5 6 7 8 9 10 11 12
周 允许的通配符[, - * / L #]
不指定
周期 从星期 -
周 的星期
本月最后一个星期
指定
1 2 3 4 5 6 7
不指定 允许的通配符[, - * /] 非必填
每年
周期 从 -
表达式
分钟 小时 星期
表达式字段:
Cron 表达式:

Cron表达式生成器



什么是cron

这是一个 linux等类unix系统内置的定时执行任务的工具,最小精确到分钟。 它的实现有很多版本,不同版本间有些许的功能差异。与它相关的有两个工具:crond 和 crontab。 crond 就是 cron 在系统内的宿主程序,crontab 是管理 cron 任务的管理工具。

使用Cron表达式生成器

本工具可以利用GUI方式配置表达式, 让你轻松上手配置crontab

常用Cron表达式

0/2 * * * * ?   表示每2秒 执行任务
0 0/2 * * * ?    表示每2分钟 执行任务
0 0 2 1 * ?   表示在每月的1日的凌晨2点调整任务
0 15 10 ? * MON-FRI   表示周一到周五每天上午10:15执行作业
0 15 10 ? 6L 2002-2006   表示2002-2006年的每个月的最后一个星期五上午10:15执行作
0 0 10,14,16 * * ?   每天上午10点,下午2点,4点 
0 0/30 9-17 * * ?   朝九晚五工作时间内每半小时 
0 0 12 ? * WED    表示每个星期三中午12点 
0 0 12 * * ?   每天中午12点触发 
0 15 10 ? * *    每天上午10:15触发 
0 15 10 * * ?     每天上午10:15触发 
0 15 10 * * ?    每天上午10:15触发 
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触发

Cron表达式的使用

cron的表达式是字符串,实际上是由七子表达式,描述个别细节的时间表。 子表达式可以包含范围, 例如,在前面的例子里("WED")可以替换成 "MON-FRI", "MON, WED, FRI"甚至"MON-WED,SAT". “*” 代表整个时间段.

每一个字段都有一套可以指定有效值,如

Seconds (秒) :可以用数字0-59 表示,

Minutes(分) :可以用数字0-59 表示,

Hours(时) :可以用数字0-23表示,

Day-of-Month(天) :可以用数字1-31 中的任一一个值,但要注意一些特别的月份

Month(月) :可以用0-11 或用字符串 “JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV and DEC” 表示

Day-of-Week(每周):可以用数字1-7表示(1 = 星期日)或用字符口串“SUN, MON, TUE, WED, THU, FRI and SAT”表示

“/”:为特别单位,表示为“每”如“0/15”表示每隔15分钟执行一次,“0”表示为从“0”分开始, “3/20”表示表示每隔20分钟执行一次,“3”表示从第3分钟开始执行

“?”:表示每月的某一天,或第周的某一天

“L”:用于每月,或每周,表示为每月的最后一天,或每个月的最后星期几如“6L”表示“每月的最后一个星期五”

“W”:表示为最近工作日,如“15W”放在每月(day-of-month)字段上表示为“到本月15日最近的工作日”

““#”:是用来指定“的”每月第n个工作日,例 在每周(day-of-week)这个字段中内容为"6#3" or "FRI#3" 则表示“每月第三个星期五”