插件窝 干货文章 定时任务Cron表达式在线教程 - 详解语法规则与实例

定时任务Cron表达式在线教程 - 详解语法规则与实例

cron表达式 定时任务 Linux定时任务 任务调度 cron语法    来源:    2025-08-06

定时任务Cron表达式完全指南

一、什么是Cron表达式?

Cron表达式是由6-7个字段组成的字符串,用于配置Linux/Unix系统中的定时任务执行规则。它被广泛应用于服务器维护、数据备份、系统监控等需要周期性执行的场景。

二、Cron表达式语法结构

字段位置 字段名称 取值范围 特殊字符
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 , - * /

三、特殊字符详解

  • * - 匹配所有值
  • ? - 不指定值(仅用于日期和星期字段)
  • - - 指定范围(如1-5表示1到5)
  • , - 指定多个值(如MON,WED,FRI)
  • / - 指定增量(如*/5表示每5个单位)
  • L - 最后一天(日期字段)或最后一周(星期字段)
  • W - 最近工作日
  • # - 指定第几个星期几(如5#3表示第三个星期五)

四、常用Cron表达式示例

  1. 每分钟执行:* * * * *
  2. 每小时的第5分钟执行:5 * * * *
  3. 每天上午9点执行:0 9 * * *
  4. 每周一上午10:15执行:15 10 * * MON
  5. 每月1号中午12点执行:0 12 1 * *
  6. 每5分钟执行一次:*/5 * * * *
  7. 工作日每天下午6点执行:0 18 * * 1-5

五、在线Cron表达式工具推荐

推荐使用以下在线工具验证您的Cron表达式:

  • Crontab Guru(https://crontab.guru/)
  • Cron Expression Generator(https://www.freeformatter.com/cron-expression-generator-quartz.html)
  • 在线Cron表达式解析器(https://tool.lu/crontab/)

六、常见问题解答

Q:Cron表达式中日期和星期字段为什么会有冲突?
A:当同时指定了日期和星期时,任务会在满足任一条件的日期执行。如需严格限制,可在星期字段使用?占位符。

Q:如何设置每月最后一天执行任务?
A:使用L字符,如0 0 L * ?表示每月最后一天午夜执行。

Q:Cron表达式中的年份字段是必须的吗?
A:标准Linux crontab不支持年份字段,但某些实现(如Quartz Scheduler)支持第6个年份字段。