Cron 表达式基本规则
什么是Cron表达式?
Cron 表达式是一种用于在 Unix-like 操作系统的定时任务调度器 cron 中表示时间的字符串。
Cron表达式的作用?
工作
定期数据备份、定期报告生成、邮件发送等自动化任务。
生活
定时拉取订阅文章、定时跑脚本薅羊毛。
Cron表达式基本规则
基本组成
Cron 表达式由 5 个(或 6 个,取决于系统)空格分隔的字段组成。
5字段的Cron
从左到右分别表示分钟 (0 - 59)、小时 (0 - 23)、 天(1-31)、月(1 - 12)、星期几(0 - 7 ,0和7都可以表示星期天)。
6个字段的Cron
规则同5个字段,只是增加了一个表示秒的字段。
Cron 表达式中的特殊字符
*
:表示匹配任何值。,
:用于分隔多个值。-
:用于表示范围。/
:用于指定步长。?
:仅用于 day of month 和 day of week 字段,表示无特定值。L
:仅用于 day of month 和 day of week 字段,表示最后一天。W
:仅用于 day of month 字段,表示最近的工作日(周一到周五)。#
:仅用于 day of week 字段,表示第几个工作日(如5#2
表示第二个星期五)。
示例
*
号例子
* * * * *
逗号(,
)
指定多个值,从而允许在多个时间点执行任务。 指定多分分钟: 例子1:每小时的第 5 分钟和第 10 分钟执行任务
0 1,2,3 * * *
指定多个小时: 每天的 1 点、2 点和 3 点执行任务 0 1,2,3 * * *
连字符(-
)
用于表示范围。 例子1: 每周一到周五的1点、 2点、3点整执行。
0 1-3 * * 1-5
问号(?
)
一般很少使用,约等于*
字母(L
)
例子
解释:在日期字段中,L
表示月份的最后一天。
例如,如果你想在每个月的最后一天执行任务。
0 0 L * *
斜杠(/
)
每隔两个小时的整点(0 点、2 点、4 点等)执行一次。
0 */2 * * *
字母W
假设你需要每天工作日(周一到周五)的上午 9 点执行任务。
0 9 * * 1-5
or
0 9 * * W
#
号
用于指定某个月份的第几个星期几。 示例:假设你需要每个月的第二个周三执行任务
0 0 * * 3#2