2024年3月24日发(作者:)
cron表达式写法和配置方法
cron表达式是一个字符串,用来定义执行任务的时间规则。它由6或7个空格
分隔的时间字段组成,每个时间字段又由数字或通配符组成。具体的语法规则如
下:
字段名 允许的值 允许的特殊字符
:-: :: ::
秒 0-59 , - * /
分 0-59 , - * /
小时 0-23 , - * /
日 1-31 , - * ? / L W C
月 1-12 或 JAN-DEC , - * /
周几 0-6 或 SUN-SAT , - * ? / L C #
其中,特殊字符的含义如下:
- `*`:匹配任意值
- `,`:枚举多个值,如`1,3,5`
- `-`:表示范围,如`5-10`
- `/`:表示递增间隔,如`*/10`
- `?`:仅用于日和周几字段,表示不指定值
- `L`:仅用于日和周几字段,表示最后一天或最后一个工作日
- `W`:仅用于日字段,表示最近的工作日
- `C`:仅用于日和周几字段,表示计划所在的最近一天
- `#`:仅用于周几字段,表示第几个周几,如`2#3`表示第3周的周二
例如,如下配置表示每天23点执行一次任务:
0 0 23 * * ?
配置方法则因不同的应用而异。以下是几种常见的应用中的配置方法:
- Linux系统中使用crontab。运行`crontab -e`打开一个文本编辑器,按照cron
表达式语法来编辑任务,保存并退出即可。
- Java应用中使用Quartz框架。使用`CronTrigger`类来创建任务触发器,并设
置cron表达式。
- Spring框架中使用`@Scheduled`注解。在需要执行定时任务的方法上加上该
注解,并设置cron表达式即可。
- Docker Swarm中使用`docker service create`命令。在命令中加入
`update-delay`和`update-parallelism`参数,分别设置任务间隔时间和任务并
行数,将时间间隔设置为cron表达式的周期即可。


发布评论