Cron表达式是由6-7个字段组成的字符串,用于配置Linux/Unix系统中的定时任务执行规则。它被广泛应用于服务器维护、数据备份、系统监控等需要周期性执行的场景。
| 字段位置 | 字段名称 | 取值范围 | 特殊字符 |
|---|---|---|---|
| 1 | 分钟(Minutes) | 0-59 | , - * / |
| 2 | 小时(Hours) | 0-23 | , - * / |
| 3 | 日期(Day of month) | 1-31 | , - * ? / L W |
| 4 | 月份(Month) | 1-12或JAN-DEC | , - * / |
| 5 | 星期(Day of week) | 0-6或SUN-SAT | , - * ? / L # |
| 6 | 年份(Year)(可选) | 1970-2099 | , - * / |
* * * * *5 * * * *0 9 * * *15 10 * * MON0 12 1 * **/5 * * * *0 18 * * 1-5推荐使用以下在线工具验证您的Cron表达式:
Q:Cron表达式中日期和星期字段为什么会有冲突?
A:当同时指定了日期和星期时,任务会在满足任一条件的日期执行。如需严格限制,可在星期字段使用?占位符。
Q:如何设置每月最后一天执行任务?
A:使用L字符,如0 0 L * ?表示每月最后一天午夜执行。
Q:Cron表达式中的年份字段是必须的吗?
A:标准Linux crontab不支持年份字段,但某些实现(如Quartz Scheduler)支持第6个年份字段。