Cron 表达式解读器
粘贴任意 cron 表达式,即时获取中文解释、字段逐项解析和下次运行时间。
解码 Cron 表达式
什么是 Cron 表达式?
Cron 表达式是一个紧凑的五字段字符串,用于定义自动化任务的循环执行时间表。Cron 最早出现在 Unix 第 7 版(1979 年),至今仍是 Linux 服务器、云平台和 CI/CD 流水线中最通用的调度机制。五个字段——分钟、小时、日期、月份和星期几——由空格分隔,从左到右依次读取,共同回答一个问题:「这个任务应该在什么时候运行?」
Cron 表达式驱动着从数据库备份、日志轮转到邮件摘要、健康检查等各种场景。尽管格式简短,它可以描述非常复杂的时间表:「工作日每 15 分钟」「每季度第一天午夜」或「1 月到 3 月每周日凌晨 3 点」。本工具可以将任何标准五字段表达式解码为中文说明,帮助你在部署前验证调度是否正确。
5 个字段详解
分钟(0–59):任务在每小时的第几分钟触发。0 表示整点;*/5 表示每 5 分钟。
小时(0–23):使用 24 小时制。0 是午夜,12 是中午,17 是下午 5 点。
日期(1–31):月份中的日期。使用 31 时需注意——天数不足的月份会自动跳过。
月份(1–12):1 月为 1,12 月为 12。部分系统支持三字母缩写(JAN、FEB),但数字值具有最佳兼容性。
星期几(0–7):0 和 7 均表示星期日。星期一为 1,星期六为 6。当日期和星期几同时设定(非 *)时,标准 cron 会匹配任一条件——这是常见的混淆点。
常用 Cron 表达式示例
* * * * * —— 每分钟执行。常用于队列消费者或需要近实时响应的健康检查。
0 * * * * —— 每小时整点执行。适合小时级数据同步、缓存失效或聚合任务。
0 0 * * * —— 每天午夜执行。备份、清理脚本和日报生成的经典调度。
0 9 * * 1-5 —— 工作日上午 9:00 执行。适合工作时间通知、站会提醒或仅工作日运行的 ETL 任务。
*/15 * * * * —— 每 15 分钟执行。常用于监控、轮询外部 API 或刷新仪表盘数据。
0 0 1 * * —— 每月 1 日午夜执行。月度账单、发票生成或配额重置。
0 0 * * 0 —— 每周日午夜执行。周报摘要、全量备份或每周维护窗口。
Cron 表达式的应用场景
Cron 语法的应用早已超越了最初的 Unix crontab。Kubernetes CronJob 在 Pod 调度清单中使用相同的五字段格式。AWS EventBridge(原 CloudWatch Events)接受 cron 表达式来触发 Lambda 函数和 Step Functions。GitHub Actions 支持在 schedule 触发器中使用 cron——非常适合夜间构建、定期依赖更新或周期性安全扫描。Google Cloud Scheduler、Azure Logic Apps、Jenkins、Airflow 和 GitLab CI/CD 都支持标准 cron 语法。掌握这一种语法,就能在几乎所有现代平台上设置定时任务。
常见问题
- 什么是 cron 表达式?
- Cron 表达式是一个由五个字段组成的字符串,用于定义定时任务的运行时间。五个字段分别表示分钟、小时、日期、月份和星期几。Unix crontab、Kubernetes、AWS、GitHub Actions 等众多平台都使用它来自动化循环任务。
- Cron 表达式的 5 个字段分别是什么?
- 分钟(0–59)、小时(0–23)、日期(1–31)、月份(1–12)和星期几(0–7,其中 0 和 7 都表示星期日)。字段由空格分隔,从左到右依次读取。
- 如何编写每天午夜执行的 cron 表达式?
- 使用
0 0 * * *。第一个0设置分钟,第二个0设置小时为午夜,三个星号分别表示每天、每月、每个星期几。 - cron 表达式中的 */5 是什么意思?
*/5表示"每隔 5 个单位"。在分钟字段中,它会在 :00、:05、:10、:15 等时刻触发。斜杠是步长运算符,将范围按相等间隔划分。- cron 和 crontab 有什么区别?
- Cron 是执行定时任务的守护进程(后台服务)。Crontab(cron 表)是列出这些任务的配置文件。使用
crontab -e编辑,每行包含一个 cron 表达式和要执行的命令。 - 如何测试 cron 表达式?
- 将表达式粘贴到本工具中,即可查看中文解释和接下来 5 次运行时间,在部署前验证调度是否符合预期。你也可以在本地创建短间隔测试任务并检查其输出日志。