Cron表达式

合集下载

Cron表达式详解

Cron表达式详解

Cron表达式详解各个字段的含义名称是否必须允许值特殊字符秒是0-59, - * /分是0-59, - * /时是0-23, - * /⽇是1-31, - * ?/ L W C⽉是1-12 或 JAN-DEC, - * /周是1-7 或 SUN-SAT, - * ? / L C #年否空或 1970-2099, - * /特殊符号含义1. 星号(*):可⽤在所有字段中,表⽰对应时间域的每⼀个时刻,例如,在分钟字段时,表⽰“每分钟”;2. 问号(?):该字符只在⽇期和星期字段中使⽤,它通常指定为“⽆意义的值”,相当于点位符;3. 减号(-):表达⼀个范围,如在⼩时字段中使⽤“10-12”,则表⽰从10到12点,即10,11,12;4. 逗号(,):表达⼀个列表值,如在星期字段中使⽤“MON,WED,FRI”,则表⽰星期⼀,星期三和星期五;5. 斜杠(/): x/y表达⼀个等步长序列,x为起始值,y为增量步长值。

如在分钟字段中使⽤0/15,则表⽰为0,15,30和45秒,⽽5/15在分钟字段中表⽰5,20,35,50,你也可以使⽤*/y,它等同于0/y;6. L:该字符只在⽇期和星期字段中使⽤,代表“Last”的意思,但它在两个字段中意思不同。

L在⽇期字段中,表⽰这个⽉份的最后⼀天,如⼀⽉的31号,⾮闰年⼆⽉的28号;如果L⽤在星期中,则表⽰星期六,等同于7。

但是,如果L出现在星期字段⾥,⽽且在前⾯有⼀个数值X,则表⽰“这个⽉的最后X天”,例如,6L表⽰该⽉的最后星期五;7. W:该字符只能出现在⽇期字段⾥,是对前导⽇期的修饰,表⽰离该⽇期最近的⼯作⽇。

例如15W表⽰离该⽉15号最近的⼯作⽇,如果该⽉15号是星期六,则匹配14号星期五;如果15⽇是星期⽇,则匹配16号星期⼀;如果15号是星期⼆,那结果就是15号星期⼆。

但必须注意关联的匹配⽇期不能够跨⽉,如你指定1W,如果1号是星期六,结果匹配的是3号星期⼀,⽽⾮上个⽉最后的那天。

5位cron表达式

5位cron表达式

5位cron表达式Cron是一款广泛应用于Unix 和类Unix 操作系统的任务调度工具。

它允许用户以编程方式定时执行特定任务,从而实现自动化管理。

下面我们将介绍5个常用的Cron表达式示例,并分析它们的实用性和具体应用场景。

1.每小时执行一次的任务Cron表达式:0 * * * * 命令示例:0 * * * * /usr/bin/php /var/www/html/index.php解释:这个表达式表示每小时执行一次指定的命令。

其中的数字“0”表示分钟,意味着每小时的第一分钟执行。

字母“*”表示其他域(小时、天、月、周),意味着不受限制。

实用性分析:这个表达式适用于需要每小时执行一次的任务,例如数据统计、数据备份等。

2.每天凌晨1点执行一次的任务Cron表达式:0 0 0 * * 命令示例:0 0 0 * * /usr/bin/php /var/www/html/index.php解释:这个表达式表示每天凌晨1点整执行指定的命令。

字母“0”表示分钟和小时,意味着只在凌晨1点整执行。

其他域均为“*”,表示不受限制。

实用性分析:这个表达式适用于需要每天凌晨执行一次的任务,例如定时发送邮件、执行耗时较长的任务等。

3.每月1号执行一次的任务Cron表达式:0 0 0 1 * 命令示例:0 0 0 1 * /usr/bin/php /var/www/html/index.php解释:这个表达式表示每月1号执行指定的命令。

字母“0”表示分钟和小时,意味着只在每月1号整执行。

其他域分别为“*”和“1”,表示不受限制和仅在1号。

实用性分析:这个表达式适用于需要每月执行一次的任务,例如账单生成、统计报表等。

4.每周六凌晨1点执行一次的任务Cron表达式:0 0 0 0 6 命令示例:0 0 0 0 6 /usr/bin/php /var/www/html/index.php解释:这个表达式表示每周六凌晨1点整执行指定的命令。

五位cron表达式

五位cron表达式

五位cron表达式
一个cron表达式有5个字段,它们分别是:
1. 秒(0-59)
2. 分钟(0-59)
3. 小时(0-23)
4. 日期(1-31)
5. 月份(1-12)
每个字段都用空格隔开,且cron表达式的格式为:“秒分钟小时日期月份”。

以下是一个五位cron表达式的示例,它表示每天凌晨1点30分执行:
```
0 30 1 * * ?
```
其中,第一个字段为“0”,表示在秒这一维度上不进行任何限制;第二个字段为“30”,表示在分钟这一维度上,在30分这一时刻执行;第三个字段为“1”,表示在小时这一维度上,在凌晨1点这一时刻执行;第四个字段为“*”,表示在日期这一维度上,每天都会执行;第五个字段为“*”,表示在月这一维度上,每个月都会执行。

最后一个“?”表示这是一个非定期的作业,它的含义是“该任务的下次运行时间是不确定的”。

常见的cron表达式

常见的cron表达式

Cron 是一种定时任务调度工具,可以用于在预定的时间运行指定的命令或程序。

常见的 Cron 表达式有以下几种:1. `* * * * *`:表示每小时的零分零秒执行一次。

2. `0 0 * * *`:表示每天的零点执行一次。

3. `0 0 8 * *`:表示每周一至周五的早上 8 点执行一次。

4. `0 0 12 * *`:表示每周一至周五的中午 12 点执行一次。

5. `0 0 18 * *`:表示每周一至周五的下午 6 点执行一次。

6. `0 0 0 * *`:表示每天的零点执行一次。

7. `0 0 0 1 *`:表示每月 1 号的零点执行一次。

8. `0 0 0 1,15 *`:表示每月 1 号和 15 号的零点执行一次。

9. `0 0 0 1,15,30,31 *`:表示每月 1 号、15 号、30 号和 31 号的零点执行一次。

10. `0 0 0 * *?`:表示每天的零点执行一次,但具体执行时间可以根据系统时钟进行调整。

这些表达式可以用于创建定时任务,以满足各种应用场景的需求。

例如,可以使用 `* * * * *` 来创建一个定时任务,该任务每小时运行一次,以更新系统日志;可以使用 `0 0 * * *` 来创建一个定时任务,该任务每天零点运行一次,以清理磁盘垃圾;可以使用 `0 0 8 * *` 来创建一个定时任务,该任务每周一至周五早上 8 点运行一次,以备份系统数据;等等。

需要注意的是,Cron 表达式中的时间单位是秒,因此需要将小时、分钟和秒分别转换为秒,才能正确地表达定时任务的执行时间。

同时,Cron 表达式中的日期部分可以是具体的日期,也可以是一段时间范围,具体取决于使用的 Cron 实现。

Cron表达式

Cron表达式

Cron表达式Cron表达式被⽤来配置CronTrigger实例。

Cron表达式是⼀个由 7个⼦表达式组成的字符串。

每个⼦表达式都描述了⼀个单独的⽇程细节。

这些⼦表达式⽤空格分隔,分别表⽰:1. Seconds 秒2. Minutes 分钟3. Hours ⼩时4. Day-of-Month ⽉中的天5. Month ⽉6. Day-of-Week 周中的天7. Year (optional field) 年(可选的域)s m h dom M dow Y顺序:右⾄左路,[年]周⽉⽇时分秒符号:* 任意/ 增量 a/b 从a开始每次增加b? 没有值L 最后⼀个值W# ⽉中的第⼏个周⼏ 6#3 第三个周五- 连续区间⾄, 多个值⼀个cron表达式的例⼦字符串为"0 0 12 ? * WED",这表⽰“每周三的中午 12: 00”。

单个⼦表达式可以包含范围或者列表。

例如:前⾯例⼦中的周中的天这个域(这⾥是"WED")可以被替换为"MON-FRI", "MON, WED, FRI"或者甚⾄"MON-WED,SAT"。

通配符('*')可以被⽤来表⽰域中“每个”可能的值。

因此在"Month"域中的*表⽰每个⽉,⽽在 Day-Of-Week域中的*则表⽰“周中的每⼀天”。

所有的域中的值都有特定的合法范围,这些值的合法范围相当明显,例如:秒和分域的合法值为 0到 59,⼩时的合法范围是 0到 23,Day-of-Month中值得合法凡范围是0到 31,但是需要注意不同的⽉份中的天数不同。

⽉份的合法值是0到 11。

或者⽤字符串JAN,FEB MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV 及 DEC 来表⽰。

Days-of-Week可以⽤1到7来表⽰(1=星期⽇)或者⽤字符串SUN, MON, TUE, WED,THU, FRI 和SAT来表⽰.'/'字符⽤来表⽰值的增量,例如, 如果分钟域中放⼊'0/15',它表⽰“每隔 15 分钟,从 0开始”,如果在份中域中使⽤'3/20',则表⽰“⼩时中每隔 20分钟,从第 3分钟开始”或者另外相同的形式就是'3,23,43'。

5位cron表达式

5位cron表达式

5位cron表达式Cron是一个时间基准任务调度器,可以在特定时间周期性地运行任务。

Cron表达式是一种用于指定任务执行时间的语法,由五个时间字段组成,分别表示分钟、小时、日期、月份和星期几。

在本文中,我将为您介绍五个常用的Cron表达式,让您更加了解如何使用Cron进行任务调度。

第一个Cron表达式是:"0 0/5 * * * ?"。

这个表达式表示每隔5分钟执行一次任务。

其中,分钟字段为0,表示任务在每小时的0分钟开始执行;小时字段为0/5,表示任务从0点开始,每隔5小时执行一次;天、月和星期字段皆为"*",表示任务在该时间单位内没有限制。

第二个Cron表达式是:"0 0 8 * * ?"。

这个表达式表示每天的上午8点执行任务。

分钟字段为0,表示任务在每小时的0分钟开始执行;小时字段为0,表示任务在该时间单位内没有限制;天字段为8,表示任务在每个月的第8天执行;月和星期字段皆为"*",表示任务在该时间单位内没有限制。

第三个Cron表达式是:"0 0 0 ? * SUN"。

这个表达式表示每个星期日的午夜执行任务。

分钟和小时字段皆为0,表示任务在每天的0点开始执行;天字段为"?",表示任务在该时间单位内没有限制;月字段为"*",表示任务在该时间单位内没有限制;星期字段为"SUN",表示任务在星期日执行。

第四个Cron表达式是:"0 0 0 ? * MON-FRI"。

这个表达式表示每个工作日的午夜执行任务。

分钟和小时字段皆为0,表示任务在每天的0点开始执行;天字段为"?",表示任务在该时间单位内没有限制;月字段为"*",表示任务在该时间单位内没有限制;星期字段为"MON-FRI",表示任务在星期一到星期五执行。

cron 表达式回显秒分时天月年 逐一解析

cron 表达式回显秒分时天月年 逐一解析

cron 表达式回显秒分时天月年逐一解析摘要:一、cron 表达式的基本概念1.cron 表达式的组成2.cron 表达式的用途二、cron 表达式中各部分的解析1.秒2.分3.时4.天5.月6.年三、cron 表达式的实际应用案例1.常见cron 表达式示例2.实际应用场景举例四、总结与展望1.cron 表达式在自动化任务中的应用2.未来可能的发展趋势正文:一、cron 表达式的基本概念cron 表达式是一种用于定义自动执行任务的的时间表达式,广泛应用于服务器、云服务等领域。

它通过特定的语法规则,来描述任务的执行时间,从而实现自动化、无人值守的任务执行。

二、cron 表达式中各部分的解析1.秒秒是cron 表达式中最小的时间单位,可以精确到每秒。

例如,`*/1 * * * *` 表示每秒都执行一次任务。

2.分分是cron 表达式中的次小时间单位,可以精确到每分钟。

例如,`0 */1 * * *` 表示每分钟的第0 秒执行一次任务。

3.时时是cron 表达式中的小时单位,可以精确到每小时。

例如,`0 0/15 * * *` 表示每小时的第15 分钟执行一次任务。

4.天天是cron 表达式中的天单位,可以精确到每天。

例如,`0 0 12 * *` 表示每天的12:00 执行一次任务。

5.月月是cron 表达式中的月单位,可以精确到每月。

例如,`0 0 12 1 *` 表示每月的12 号12:00 执行一次任务。

6.年年是cron 表达式中的年单位,可以精确到每年。

例如,`0 0 12 1 1` 表示每年的1 月12 号12:00 执行一次任务。

三、cron 表达式的实际应用案例1.常见cron 表达式示例- 每天凌晨1 点备份数据库:`0 0 1 * *`- 每星期日凌晨3 点清理日志:`0 3 * * 0`- 每月的1 号凌晨5 点升级系统:`0 5 1 * *`2.实际应用场景举例- 服务器自动备份:通过定时任务,每天凌晨自动备份服务器数据,保证数据安全。

cron表达式用法 -回复

cron表达式用法 -回复

cron表达式用法-回复什么是cron表达式?cron表达式是一种用于定时执行任务的时间表达式。

它由6个字段组成,分别表示秒、分钟、小时、日期、月份和星期。

cron表达式可以精确到秒级别,非常灵活和易于使用。

在计算机领域,cron表达式广泛应用于自动化任务、批处理作业和调度系统等场景。

第一步:理解cron表达式的6个字段第一个字段表示秒,范围是0-59;第二个字段表示分钟,范围是0-59;第三个字段表示小时,范围是0-23;第四个字段表示日期,范围是1-31;第五个字段表示月份,范围是1-12;第六个字段表示星期,范围是0-7,其中0表示星期天,1表示星期一,依此类推。

第二步:掌握cron表达式的各种符号在cron表达式中,有一些符号用于表示特定的时间段。

以下是一些常见的符号:*:表示所有可能的值。

例如,在第一个字段中使用*表示每一秒都会触发任务。

,:用于分隔多个时间点。

例如,在第二个字段中使用1,3,5表示任务将在每小时的第1、第3、第5分钟触发。

-:用于表示一个时间范围。

例如,在第三个字段中使用8-17表示任务将在每天的8点至17点之间触发。

/:用于指定时间间隔。

例如,在第四个字段中使用1/5表示任务将每隔5天触发一次。

第三步:使用一些例子来解释cron表达式例1:0 0 8 * * ?表示在每天的8点触发任务。

- 第一个字段0:表示任务在每一秒的第0秒触发。

- 第二个字段0:表示任务在每个小时的第0分钟触发。

- 第三个字段8:表示任务在每天的第8个小时触发。

- 第四个字段*:表示任务在每天的任意日期触发。

- 第五个字段*:表示任务在每个月份触发。

- 第六个字段?:表示任务在每个星期触发。

例2:0 0 12 1/2 * ?表示在每隔两天的12点触发任务。

- 第一个字段0:表示任务在每一秒的第0秒触发。

- 第二个字段0:表示任务在每个小时的第0分钟触发。

- 第三个字段12:表示任务在每天的第12个小时触发。

每年执行一次cron表达式

每年执行一次cron表达式

每年执行一次cron表达式1. 介绍cron表达式的概念cron表达式是一种用于指定定时任务执行时间的格式,主要用于Unix和类Unix的操作系统。

它由6个字段组成,分别表示分钟、小时、日、月、周几和年,通过设定这些字段的取值来指定定时任务的执行时间。

2. 描述每个字段的含义和取值范围- 分钟(0-59)- 小时(0-23)- 日(1-31)- 月(1-12)- 周几(0-7,其中0和7均表示周日)- 年(可选字段,表示年份)3. 讲解如何编写每年执行一次的cron表达式每年执行一次的cron表达式格式为:分时日月周几每年的1月1日凌晨3点执行任务的cron表达式为:0 3 1 1 *以上的cron表达式表示分别在每年的1月1日的凌晨3点执行任务。

4. 提供实际应用场景下的例子- 每年进行一次年终清理工作- 每年定时发送生日祝福邮件- 每年进行税务申报工作5. 探讨设置每年执行一次任务的用途和意义定时执行一次任务在一些特定的场景下具有重要的意义,比如年终结算、税务申报、定时发送年度报告等。

通过设置每年执行一次的cron表达式,可以确保这些重要的任务能够按时执行,有助于提高工作效率和准确性。

6. 分析每年执行一次任务的注意事项在设置每年执行一次任务的cron表达式时,需要注意以下几点: - 精确计算执行时间,确保不会错过关键时间点- 确保任务执行的稳定性和安全性- 注意任务的并发执行情况,避免出现冲突和重复执行的情况7. 总结通过合理设置每年执行一次的cron表达式,可以实现定时执行重要任务的目的,提高工作效率和准确性,为各种应用场景下的定时任务执行提供了有力的支持。

合理设置cron表达式也需要结合具体情况进行灵活调整,确保任务执行的稳定和安全。

8. 探讨每年执行一次任务对于企业的重要性按时执行年度任务对企业来说至关重要。

每年的年终清理工作,包括财务报表的审计和归档、员工福利和薪酬的结算等,都是企业日常运营中不可或缺的环节。

cron 5位表达式

cron 5位表达式

cron 5位表达式Cron表达式用于定义定时任务的执行时间。

一个Cron表达式由五个字段组成,分别表示:分钟(0-59)、小时(0-23)、日期(1-31)、月份(1-12)和星期(0-7,其中0和7都表示星期日)。

下面是一个示例Cron表达式,表示每天的上午10点和下午4点执行任务:```0 0,4 * * *```其中,第一个字段表示分钟,使用0表示每分钟的第0秒;第二个字段表示小时,使用0表示上午12点之前,使用4表示下午4点之后;第三个字段表示日期,使用*表示每个月的每一天;第四个字段表示月份,使用*表示每个月份;第五个字段表示星期,使用*表示每个星期的每一天。

另外,还可以使用一些特殊符号来表示更复杂的执行时间。

例如,下面的表达式表示每周一、周三和周五的上午10点和下午4点执行任务:```bash0 0,4 * * 1,3,5```其中,第五个字段使用1、3和5分别表示星期一、星期三和星期五。

还有一些其他的特殊符号,例如:* 星号(*)表示该字段的所有可能值。

* 逗号(,)分隔多个值,表示该字段的多个选项。

例如,在分钟字段中使用0,15,30,45表示每分钟的第0、15、30和45秒。

* 短横线(-)表示范围,例如1-5表示分钟字段为1到5。

* 斜杠(/)表示间隔,例如*/5表示每隔5分钟执行一次。

下面是一些常见的Cron表达式:* 每隔一小时执行一次:0 * * * ** 每天的上午9点到下午5点之间每隔30分钟执行一次:*/30 9-17 * * ** 每周一上午1点到下午9点之间每隔2小时执行一次:0 1-21/2 1 * * 1* 每月的第一天和第十五天的上午10点和下午4点执行任务:0 0 1,15 * *另外,还有一些注意事项需要注意:1. Cron表达式的格式必须正确,否则会导致定时任务无法正常执行。

建议在编写Cron表达式时,先进行格式检查,确保其符合规范。

2. Cron表达式中的字段值范围和特殊符号的含义必须正确,否则会导致定时任务执行时间不准确或无法执行。

cron 表达式的写法 -回复

cron 表达式的写法 -回复

cron 表达式的写法-回复什么是Cron表达式?Cron表达式是一种时间表达式的规范语法。

它被广泛用于描述和设定定时任务在特定时间执行的策略。

Cron表达式由6或7个字段组成,用于指定任务在秒、分钟、小时、日、月、周的哪个时间点执行。

在Cron表达式中,每个字段代表一个时间单位,每个字段中可输入的表达式值有固定的规范。

每个字段都使用空格来分隔,并且以特殊字符作为分隔符来指定时间的范围。

Cron表达式的格式一般如下:[秒] [分] [小时] [日] [月] [周] [年]每个字段的取值范围如下:- 秒:0-59- 分:0-59- 小时:0-23- 日:1-31- 月:1-12 或JAN-DEC- 周:1-7 或SUN-SAT- 年:年份Cron表达式的特殊字符:- 星号(*):表示该字段可以接受任意值,比如*在分钟字段中表示“每分钟都执行”。

- 问号(?):该字符仅用于日和周两个字段,表示不指定值,即任意值都可接受。

- 斜杠(/):表示增量,用来指定在一个范围内每隔多少时间执行一次。

例如,*/5在分钟字段中,表示“每隔5分钟执行一次”。

- 逗号(,):用于列举多个取值,例如1,3,5,表示指定1、3和5这三个时间点执行任务。

- 连接符(-):用于指定一个范围内的取值。

例如1-5,表示指定1到5这个范围内的所有时间点。

例如,以下是一些常见的Cron表达式:- 0 0 12 * * ? :每天中午12点触发- 0 15 10 ? * * :每天上午10:15触发- 0 0/5 14,18 * * ? :在下午2点到6点之间的每5分钟触发- 0 0-5 14 * * ? :在下午2点到2点5分之间的每1分钟触发- 0 0 8-10 * * ? :每天上午8点到10点之间的整点触发Cron表达式能够非常精确地描述定时任务的执行策略,适用于各种定时任务的安排和调度。

但需要注意的是,Cron表达式必须是合法且语法正确的,否则无法正常触发任务。

cron表达式示例

cron表达式示例

cron表达式示例
Cron 表达式是一种用于设置定时任务的表达式格式,它可以用来指定任务执行的时间和频率。

Cron 表达式由六个字段组成,每个字段之间用空格分隔,格式如下:
```
minute hour day month day_of_week year
```
各个字段的含义如下:
- `minute`:表示分钟,范围是0 到59。

- `hour`:表示小时,范围是0 到23。

- `day`:表示日期,范围是1 到31。

- `month`:表示月份,范围是1 到12。

- `day_of_week`:表示星期几,范围是0 到7,其中0 表示星期日,1 表示星期一,以此类推。

- `year`:表示年份,可选字段,范围是1970 到2099。

下面是一些常见的Cron 表达式示例:
- 每分钟执行一次任务:`* * * * * *`
- 每小时执行一次任务:`0 * * * * *`
- 每天执行一次任务:`0 0 * * * *`
- 每月执行一次任务:`0 0 1 * * *`
- 每周一执行一次任务:`0 0 * * 1 *`
- 每天的10 点30 分执行一次任务:`30 10 * * * *`
请注意,Cron 表达式的具体实现可能因不同的系统和应用程序而有所不同。

在使用Cron 表达式时,请参考相关的文档和说明以确保正确设置任务的执行时间和频率。

cron表达式解析

cron表达式解析

cron表达式解析1. cron表达式的基本格式cron表达式是⼀个字符串,字符串以5或6个空格隔开,分为6或7个域,每⼀个域代表⼀个含义,cron有如下两种语法格式:second minute hour dayofmonth month dayofweek yearsecond minute hour dayofmonth month dayofweek各个字段的含义字段允许值允许的特殊字符秒(second)0-59整数, - * /分(minute)0-59整数, - * /时(hour)0-23整数, - * /⽇期(day of month)1-31整数(但要考虑⽉份的天数), - * ? / L W C⽉份(month)1-13整数或者 JAN-DEC, - * /星期(day of week)1-7整数或者 SUN-SAT (SUN=1), - * ? / L C #年(year)1970-2099, - * /特殊字符释义:*:表⽰匹配该域的任意值。

假如在Minutes域使⽤*, 即表⽰每分钟都会触发事件。

:只能⽤在DayofMonth和DayofWeek两个域。

它也匹配域的任意值,但实际不会。

因为DayofMonth和DayofWeek会相互影响。

例如想在每⽉的20⽇触发调度,不管20⽇到底是星期⼏,则只能使⽤如下写法: 13 13 15 20 * ?, 其中最后⼀位只能⽤?,⽽不能使⽤*,如果使⽤*表⽰不管星期⼏都会触发,实际上并不是这样。

-:表⽰范围。

例如在Minutes域使⽤5-20,表⽰从5分到20分钟每分钟触发⼀次/:表⽰起始时间开始触发,然后每隔固定时间触发⼀次。

例如在Minutes域使⽤5/20,则意味着5分钟触发⼀次,⽽25,45等分别触发⼀次.,:表⽰列出枚举值。

例如:在Minutes域使⽤5,20,则意味着在5和20分每分钟触发⼀次。

L:表⽰最后,只能出现在DayofWeek和DayofMonth域。

cron表达式详解,cron表达式写法,cron表达式例子

cron表达式详解,cron表达式写法,cron表达式例子

cron表达式详解,cron表达式写法,cron表达式例⼦(cron = "* * * * * *")cron表达式格式:{秒数} {分钟} {⼩时} {⽇期} {⽉份} {星期} {年份(可为空)}例 "0 0 12 ? * WED" 在每星期三下午12:00 执⾏(年份通常省略)先了解每个位置代表的含义,在了解每个位置允许的范围,以及⼀些特殊写法,还有常⽤的案例,⾜够你掌握cron表达式⼀:每个字段的允许值字段允许值允许的特殊字符秒 0-59 , - * /分 0-59 , - * /⼩时 0-23 , - * /⽇期 1-31 , - * ? / L W C⽉份 1-12 或者 JAN-DEC , - * /星期 1-7 或者 SUN-SAT , - * ? / L C #年(可选)留空, 1970-2099 , - * /⼆:允许值的意思: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”表⽰三:每个符号的意义:* 表⽰所有值;表⽰未说明的值,即不关⼼它为何值;- 表⽰⼀个指定的范围;, 表⽰附加⼀个可能值;/ 符号前表⽰开始时间,符号后表⽰每次递增的值;L("last") ("last") "L" ⽤在day-of-month字段意思是 "这个⽉最后⼀天";⽤在 day-of-week字段, 它简单意思是 "7" or "SAT"。

cron表达式写法

cron表达式写法

cron表达式写法
Cron表达式是一种用于配置任务调度的时间表达式。

它允许你精确地指定任务的执行时间。

Cron表达式通常用于Unix和类Unix系统,如Linux、MacOS等。

Cron表达式的基本语法如下:
```
minute (秒) hour (小时) day (天) month (月) day_of_week (星期)
```
每个字段的取值范围和含义如下:
-分钟(minute):0-59之间的整数。

-小时(hour):0-23之间的整数。

-日期(day):1-31之间的整数。

需要注意的是,这里的日期是从0开始计算的。

-月份(month):1-12之间的整数。

-星期(day_of_week):0-6之间的整数,表示星期几。

0表示星期日,1表示星期一,依此类推。

以下是一些示例Cron表达式:
-每小时执行一次:`0 * * * * *`
-每天凌晨2点执行:`0 0 2 * * *`
-每周六晚上11点执行:`0 0 22 * * 6`
-每月执行一次,具体时间不限:`0 0 0 1 * *`
-每年1月1日0点0分执行:`0 0 0 1 1 *`
需要注意的是,Cron表达式中的字段可以省略,但要注意对应的时间段。

例如,省略小时和分钟表示任务在每个小时和每分钟都执行;省略日期和月份表示任务在每天和每个月都执行。

请根据你的需求编写合适的Cron表达式。

在实际使用过程中,还可以使用更复杂的表达式,如区间、逗号分隔等。

不过,掌握基本语法后,你应该能满足大部分场景的需求。

cron表达式解析

cron表达式解析

cron表达式解析1. cron表达式的基本格式cron表达式是⼀个字符串,字符串以5或6个空格隔开,分为6或7个域,每⼀个域代表⼀个含义,cron有如下两种语法格式:second minute hour dayofmonth month dayofweek yearsecond minute hour dayofmonth month dayofweek各个字段的含义字段允许值允许的特殊字符秒(second)0-59整数, - * /分(minute)0-59整数, - * /时(hour)0-23整数, - * /⽇期(day of month)1-31整数(但要考虑⽉份的天数), - * ? / L W C⽉份(month)1-13整数或者 JAN-DEC, - * /星期(day of week)1-7整数或者 SUN-SAT (SUN=1), - * ? / L C #年(year)1970-2099, - * /特殊字符释义:*:表⽰匹配该域的任意值。

假如在Minutes域使⽤*, 即表⽰每分钟都会触发事件。

:只能⽤在DayofMonth和DayofWeek两个域。

它也匹配域的任意值,但实际不会。

因为DayofMonth和DayofWeek会相互影响。

例如想在每⽉的20⽇触发调度,不管20⽇到底是星期⼏,则只能使⽤如下写法: 13 13 15 20 * ?, 其中最后⼀位只能⽤?,⽽不能使⽤*,如果使⽤*表⽰不管星期⼏都会触发,实际上并不是这样。

-:表⽰范围。

例如在Minutes域使⽤5-20,表⽰从5分到20分钟每分钟触发⼀次/:表⽰起始时间开始触发,然后每隔固定时间触发⼀次。

例如在Minutes域使⽤5/20,则意味着5分钟触发⼀次,⽽25,45等分别触发⼀次.,:表⽰列出枚举值。

例如:在Minutes域使⽤5,20,则意味着在5和20分每分钟触发⼀次。

L:表⽰最后,只能出现在DayofWeek和DayofMonth域。

cron表达式详解

cron表达式详解

cron表达式详解Cron表达式是⼀个字符串,字符串以5或6个空格隔开,分为6或7个域,每⼀个域代表⼀个含义,Cron有如下两种语法格式:Seconds Minutes Hours DayofMonth Month DayofWeek Year或Seconds Minutes Hours DayofMonth Month DayofWeek每⼀个域可出现的字符如下:Seconds:可出现", - * /"四个字符,有效范围为0-59的整数Minutes:可出现", - * /"四个字符,有效范围为0-59的整数Hours:可出现", - * /"四个字符,有效范围为0-23的整数DayofMonth:可出现", - * / ? L W C"⼋个字符,有效范围为0-31的整数Month:可出现", - * /"四个字符,有效范围为1-12的整数或JAN-DEcDayofWeek:可出现", - * / ? L C #"四个字符,有效范围为1-7的整数或SUN-SAT两个范围。

1表⽰星期天,2表⽰星期⼀,依次类推Year:可出现", - * /"四个字符,有效范围为1970-2099年每⼀个域都使⽤数字,但还可以出现如下特殊字符,它们的含义是:(1)*:表⽰匹配该域的任意值,假如在Minutes域使⽤*, 即表⽰每分钟都会触发事件。

(2)?:只能⽤在DayofMonth和DayofWeek两个域。

它也匹配域的任意值,但实际不会。

因为DayofMonth和 DayofWeek会相互影响。

例如想在每⽉的20⽇触发调度,不管20⽇到底是星期⼏,则只能使⽤如下写法: 13 13 15 20 * ?, 其中最后⼀位只能⽤?,⽽不能使⽤*,如果使⽤*表⽰不管星期⼏都会触发,实际上并不是这样。

每隔35分钟执行一次的cron表达式

每隔35分钟执行一次的cron表达式

每隔35分钟执行一次的cron表达式每隔35分钟执行一次的cron表达式是"*/35 * * * *"。

Cron表达式是一种时间表达式,用于在特定时间间隔内执行任务。

在这个cron表达式中,星号(*)代表任意值,因此"*/35"表示每35分钟执行一次。

而其他的五个星号则代表了每小时的任意分钟、每天的任意小时、每月的任意日期、每周的任意星期,以及每年的任意月份。

使用这个cron表达式,我们可以实现一些特定的任务调度。

下面将列举一些示例,展示如何使用这个表达式来实现不同的功能。

1. 数据备份:在一个服务器上,我们可以设置一个cron任务,每隔35分钟执行一次数据备份操作。

这样可以保证数据的及时备份,以防止数据丢失或损坏。

2. 日志清理:在一个应用程序中,日志文件可能会不断增长,占用大量的磁盘空间。

通过设置一个每隔35分钟执行一次的cron任务,我们可以定期清理过期的日志文件,释放磁盘空间。

3. 定时提醒:在一个办公环境中,我们可能需要定时提醒员工完成某些任务。

通过设置一个每隔35分钟执行一次的cron任务,可以定时发送提醒邮件或弹窗,提醒员工完成任务。

4. 数据同步:在一个分布式系统中,不同的节点之间可能需要进行数据同步。

通过设置一个每隔35分钟执行一次的cron任务,可以定时将数据从一个节点同步到另一个节点,保持数据的一致性。

5. 定时报表生成:在一个数据分析系统中,定时生成报表是一项常见的任务。

通过设置一个每隔35分钟执行一次的cron任务,可以定时生成报表并发送给相关人员,方便他们及时了解数据分析结果。

需要注意的是,cron表达式只是一种时间调度工具,具体任务的实现需要根据不同的应用场景来确定。

在使用cron表达式时,还需要考虑任务的执行时间和执行顺序,以确保任务能够按时完成,并且不会出现冲突或重复执行的情况。

总结起来,每隔35分钟执行一次的cron表达式可以用于实现各种任务调度需求,包括数据备份、日志清理、定时提醒、数据同步和定时报表生成等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Cron表达式
Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:
Seconds Minutes Hours DayofMonth Month DayofWeek Year或
Seconds Minutes Hours DayofMonth Month DayofWeek
∙从左至右,这些元素的定义如下:

∙1.秒(0–59)

∙2.分钟(0–59)

∙3.小时(0–23)

∙4.月份中的日期(1–31)

∙5.月份(1–12或JAN–DEC)

∙6.星期中的日期(1–7或SUN–SAT)

∙7.年份(1970–2099)
每一个域可出现的字符如下:
Seconds:可出现", - * /"四个字符,有效范围为0-59的整数
Minutes:可出现", - * /"四个字符,有效范围为0-59的整数
Hours:可出现", - * /"四个字符,有效范围为0-23的整数
DayofMonth:可出现", - * / ? L W C"八个字符,有效范围为0-31的整数
Month:可出现", - * /"四个字符,有效范围为1-12的整数或JAN-DEc DayofWeek:可出现", - * / ? L C #"四个字符,有效范围为1-7的整数或SUN-SAT两个范围。

1表示星期天,2表示星期一,依次类推
Year:可出现", - * /"四个字符,有效范围为1970-2099年
每一个域都使用数字,但还可以出现如下特殊字符,它们的含义是:
(1)*:表示匹配该域的任意值,假如在Minutes域使用*, 即表示每分钟都会触发事件。

(2)?:只能用在DayofMonth和DayofWeek两个域。

它也匹配域的任意值,但实际不会。

因为DayofMonth和DayofWeek会相互影响。

例如想在每月的20日触发调度,不管20日到底是星期几,则只能使用如下写法:13 13 15 20 * ?, 其中最后一位只能用?,而不能使用*,如果使用*表示不管星期几都会触发,实际上并不是这样。

(3)-:表示范围,例如在Minutes域使用5-20,表示从5分到20分钟每分钟触发一次
(4)/:表示起始时间开始触发,然后每隔固定时间触发一次,例如在Minutes域使用5/20,则意味着5分钟触发一次,而25,45等分别触发一次.
(5),:表示列出枚举值值。

例如:在Minutes域使用5,20,则意味着在5和20分每分钟触发一次。

(6)L:表示最后,只能出现在DayofWeek和DayofMonth域,如果在DayofWeek域使用5L,意味着在最后的一个星期四触发。

(7)W: 表示有效工作日(周一到周五),只能出现在DayofMonth域,系统将在离指定日期的最近的有效工作日触发事件。

例如:在DayofMonth使用5W,如果5日是星期六,则将在最近的工作日:星期五,即4日触发。

如果5日是星期天,则在6日(周一)触发;如果5日在星期一到星期五中的一天,则就在5日触发。

另外一点,W的最近寻找不会跨过月份
(8)LW:这两个字符可以连用,表示在某个月最后一个工作日,即最后一个星期五。

(9)#:用于确定每个月第几个星期几,只能出现在DayofMonth域。

例如在4#2,表示某月的第二个星期三。

举几个例子:
0 0 2 1 * ? * 表示在每月的1日的凌晨2点调度任务
0 15 10 ? * MON-FRI 表示周一到周五每天上午10:15执行作业
0 15 10 ? 6L 2002-2006 表示2002-2006年的每个月的最后一个星期五上午10:15执行作
一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。

按顺序依次为
秒(0~59)
分钟(0~59)
小时(0~23)
天(月)(0~31,但是你需要考虑你月的天数)
月(0~11)
天(星期)(1~7 1=SUN 或SUN,MON,TUE,WED,THU,FRI,SAT)
年份(1970-2099)
其中每个元素可以是一个值(如6),一个连续区间(9-12),一个间隔时间(8-18/4)(/表示每隔4小时),一个列表(1,3,5),通配符。

由于"月份中的日期"和"星期中的日期"这两个元素互斥的,必须要对其中一个设置?
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触发
有些子表达式能包含一些范围或列表
例如:子表达式(天(星期))可以为“MON-FRI”,“MON,WED,FRI”,“MON-WED,SAT”
“*”字符代表所有可能的值
因此,“*”在子表达式(月)里表示每个月的含义,“*”在子表达式(天(星期))表示星期的每一天
“/”字符用来指定数值的增量
例如:在子表达式(分钟)里的“0/15”表示从第0分钟开始,每15分钟
在子表达式(分钟)里的“3/20”表示从第3分钟开始,每20分钟(它和“3,23,43”)的含义一样
“?”字符仅被用于天(月)和天(星期)两个子表达式,表示不指定值
当2个子表达式其中之一被指定了值以后,为了避免冲突,需要将另一个子表达式的值设为“?”
“L” 字符仅被用于天(月)和天(星期)两个子表达式,它是单词“last”的缩写但是它在两个子表达式里的含义是不同的。

在天(月)子表达式中,“L”表示一个月的最后一天
在天(星期)自表达式中,“L”表示一个星期的最后一天,也就是SAT
如果在“L”前有具体的内容,它就具有其他的含义了
例如:“6L”表示这个月的倒数第6天,“FRIL”表示这个月的最一个星期五
注意:在使用“L”参数时,不要指定列表或范围,因为这会导致问题
字段允许值允许的特殊字符
秒0-59 , - * /
分0-59 , - * /
小时0-23 , - * /
日期1-31 , - * ? / L W C
月份1-12 或者JAN-DEC , - * /
星期1-7 或者SUN-SAT , - * ? / L C #
年(可选)留空, 1970-2099 , - * /
2)Cron表达式范例:
每隔5秒执行一次:*/5 * * * * ?
每隔1分钟执行一次:0 */1 * * * ?
每天23点执行一次:0 0 23 * * ?
每天凌晨1点执行一次:0 0 1 * * ?
每月1号凌晨1点执行一次:0 0 1 1 * ?
每月最后一天23点执行一次:0 0 23 L * ?
每周星期天凌晨1点实行一次:0 0 1 ? * L
在26分、29分、33分执行一次:0 26,29,33 * * * ?
每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ?。

相关文档
最新文档