Cron是一款类Unix的操作系统下的基于时间的任务管理系统。您可以通过Cron在固定时间、日期间隔下运行定时任务(可以是命令和脚本)。
-
专业版应用Cron可以支持秒级别。
-
基础版应用Cron不支持秒级别,请使用
second_delay代替。
Cron表达式
Cron的表达式为:秒分时 日月周[年]。
为了帮助您理解,下面介绍一些常用的Cron表达式示例。
|
Contab表达式 |
说明 |
|
0 */1 * * * ? |
每隔1分钟触发一次。 |
|
0 0 5-15 * * ? |
每天5:00~15:00整点触发。 |
|
0 0/3 * * * ? |
每隔3分钟触发一次。 |
|
0 0-5 14 * * ? |
每天14:00~14:05期间每隔1分钟触发一次。 |
|
0 0/5 14 * * ? |
每天14:00~14:55期间每隔5分钟触发一次。 |
|
0 0/5 14,18 * * ? |
每天14:00~14:55和18:00~18:55两个时间段内每5分钟触发一次。 |
|
0 0/30 9-17 * * ? |
每天9:00~17:00内每半小时触发一次。 |
|
0 0 10,14,16 * * ? |
每天10:00、14:00和16:00触发。 |
|
0 0 12 ? * WED |
每周三12:00触发。 |
|
0 0 17 ? * TUES,THUR,SAT |
每周二、周四、周六17:00触发。 |
|
0 10,44 14 ? 3 WED |
每年3月的每周三的14:10和14:44触发。 |
|
0 15 10 ? * MON-FRI |
周一至周五的上午10:15触发。 |
|
0 0 23 L * ? |
每月最后一天23:00触发。 |
|
0 15 10 L * ? |
每月最后一天10:15触发。 |
|
0 15 10 ? * 6L |
每月最后一个周五10:15触发。 |
|
0 15 10 * * ? 2005 |
2005年的每天10:15触发。 |
|
0 15 10 ? * 6L 2002-2005 |
2002年~2005年的每月的最后一个周五上午10:15触发。 |
|
0 15 10 ? * 6#3 |
每月的第三个周五10:15触发。 |
Cron定时调度配置示例
在创建调度任务时可以使用Cron定时调度,创建调度任务的详细操作步骤请参见创建调度任务。本文仅介绍在创建调度任务时如何配置Cron定时调度。
-
进入定时配置步骤面板,详情请参见创建调度任务。
-
在创建任务配置向导的定时配置步骤面板中设置定时调度参数,然后单击下一步。
-
在时间类型右侧的列表选择cron。
-
设置cron表达式。
如果定时规则比较简单,建议使用工具生成,本文也会介绍如何使用工具生成Cron 表达式。如果规则复杂,工具无法生成,可以输入Cron表达式,相关示例请参见Cron表达式。
-
单击使用生成工具。
-
在弹出的列表中选择时间周期、时间等规则,例如每天3:00执行,然后单击确定。在生成工具中,设置频率为每天,通过时间选择器设置执行时间为 03:00:00(时:3,分:0,秒:0),然后单击确定。
-
单击验证cron,查看规则最近5次触发时间。生成的cron表达式为
0 0 3 * * ?。单击 验证cron 可查看最近5次触发时间,确认调度规则符合预期。
-
-
可选:如果需要,在高级设置区域还可以设置时间偏移、时区、日历和生效时间。
当时间类型选择Cron后,可以进行高级配置。高级配置参数说明如下:
配置名称
意义
默认值
数据时间偏移
数据时间相对于调度时间的偏移,可以在调度时从上下文获取该值。
无
时区
可以根据实际情况选择不同时区,包括一些常用国家或地区,也包括标准的GMT表达方式。
无
日历
可以导入自定义日历,按照日历调度,比如只想在工作日执行。
每天调度
生效时间
指定任务开始生效时间。
立即生效
-