Cron表达式

Cron表达式是一种用于配置定时任务的字符串,常见于服务器和云函数中。它由5-7个字段组成,如秒、分、时、日、月、周和年,每个字段定义了特定的时间间隔。特殊字符如星号(*)、问号(?)、斜线(/)和逗号(,)允许更灵活的定时设置。例如,`5****?`表示每分钟的第5秒执行一次,而`5*10-22**?`则限制在工作时间内(早上10点到晚上10点)每分钟的第5秒执行。
摘要由CSDN通过智能技术生成

网上搜一下就有在线生成网站,很方便。

比如:Cron表达式生成器

用途

定时调度任务,比如说服务器、云函数中定时执行脚本函数。

Cron 表达式构成

Cron 表达式是字符串,一般由 6 - 7 个字段构成,空格分隔。每个字段代表不同的含义,其中是非必须的,即至少有前六个字段。

年(非)

各字段含义

字段取值范围(整数)特殊字符是否必须
秒(Seconds)0 - 59, - * /
分(Minutes)0 - 59, - * /
时(Hours)0 - 23, - * /
日(DayofMonth)1 - 31, - * ? / L W C
月(Month)1 - 12 或者 JAN - DEC, - * /
周(DayofWeek)0 - 6 或者 SUN - SAT(建议用英文, - * ? / L C #
年(Year)1970 - 2099, - * /

DayofWeek字段建议使用英文,系统很多不一样,国内查到是1-7。Wiki上写0-6,7有的系统可用。

字符含义

字符含义例子
,列举1,3,6,秒字段里表示每分钟的第1,3,6秒。
-范围1-3,秒字段里表示每分钟的第1到第3秒。
*字段内的任意值不同的字段中,代表每秒,每分,每小时等等
/间隔时间触发(开始时间/时间间隔)1/3,秒字段里表示从每分钟的第1秒开始,每3秒触发一次
?忽略该字段的值(仅用于0 1 * * * ?,表示每年每月每日每小时的1分触发。
#该月第x个星期y(y#x),仅用于MON#3,表示该月的第三个星期一。
L最后,last的缩写,仅用于(1)日字段:直接使用L代表每月的最后一天。也支持偏移量的方式,配置L-1则代表每月的倒数第二天。
(2)周字段:直接使用L代表每周的最后一天,即SAT;但配合使用比如MONL,则代表每月最后一个周一。
使用L时,不要指定列表,或范围-
w工作日(MON-FRI),表示离当月指定日期最近的工作日触发,weekday的缩写,仅用于5W,表示当月离5号最近的工作日触发
(1)如果5号是周六,则在4号(周五)触发;
(2)如果5号是周日,则在6号(周一)触发;
(3)如果5号在周一到周五中的一天,则就在5号触发。
另外,W的最近寻找不会跨月份
LW仅用于字段,表示当月的最后一个工作日触发

常用表达式示范

cron表达式含义常用场景执行时间
5 * * * * ?每分钟的第5秒执行一次常见的每分钟的定时任务,检查数据库和缓存数据是否一致2021-04-11 13:10:05
2021-04-11 13:11:05
2021-04-11 13:12:05
5 * 10-22 * * ?从早上10点到晚上十点,每分钟的第5秒执行一次将定时任务限制在每天的工作时间2021-04-11 13:10:05
2021-04-11 13:11:05
2021-04-11 13:12:05
5 0 0/6 * * ?
等效于
5 0 0,6,12,18 * * ?
每天从0点开始,每隔6小时执行一次。执行时间为第0分5秒。常用于每天较低频次的批量同步数据2021-04-12 00:00:05
2021-04-12 06:00:05
2021-04-12 12:00:05
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值