{ }
EN

Cron 表达式解析

粘贴 5 字段 cron 表达式即可读出中文含义,并预览未来 5 次执行时间。

每月的每日(每周几)每小时的每 15 分钟触发。
字段
分钟
*/15
小时
*
*
*
*
未来执行
#15/4/2026, 3:15:00 PM
#25/4/2026, 3:30:00 PM
#35/4/2026, 3:45:00 PM
#45/4/2026, 4:00:00 PM
#55/4/2026, 4:15:00 PM

如何读 cron

Cron 表达式是一组 5 字段的调度规则,用来告诉 Unix 调度器何时跑任务。字段依次为:分钟、小时、日、月、周,以空格分隔。每个字段都接受单值、逗号列表、范围(1-5)、步长(*/15),或通配符 *。大多数 Linux 上的经典 Vixie cron 就是这套语法;许多新调度器(systemd timer、GitHub Actions、Kubernetes CronJob)也遵循相同方言。

本解析器会把表达式拆成 5 个字段、逐项校验,再合成一段中文解释;同时按你本地时区预览未来 5 次执行时间,方便你确认 "每 15 分钟" 真的是每小时 4 次而不是每天 24 次。Quartz 风格的可选 "秒" 字段不被支持 —— 6 字段表达式会被拒。

使用场景

  • 把 runbook 里复制来的 cron 在写入 crontab 前再核对一次。
  • 确认 "每 15 分钟" 的表达式真的是每天 96 次,而不是 24 次。
  • 把复杂表达式(如 0 9-17/2 * * 1-5)翻成中文写进文档。
  • 预览备份任务下次执行时间。
  • 对比两个表达式哪个触发更频繁。

最佳实践

  • 每个 cron 任务都用一行中文注释说明它干什么。
  • 在多任务间随机错开分钟偏移,避免每小时整点出现 thundering herd。
  • 服务器跨时区时统一用 UTC 设 cron。
  • 日字段与周字段是 OR 关系 —— 同时设置时只要任一匹配就会触发。

参考速查

表达式含义
* * * * *每分钟
*/5 * * * *每 5 分钟
0 * * * *每小时整点
0 0 * * *每天 0 点
0 9 * * 1-5工作日 9 点
0 0 1 * *每月 1 号 0 点
30 2 * * 0每周日 02:30
0 0 1 1 *每年 1 月 1 日 0 点

常见问题

支持秒字段吗?
不支持。本解析器使用标准 5 字段 Vixie cron 语法。Quartz 风格的 6 / 7 字段表达式不会被接受。
预览的执行时间是哪个时区?
你的本地浏览器时区。部分调度器(如 Kubernetes)默认按 UTC 解读 cron,容易混淆。
为什么周字段 0 和 7 都是周日?
这是 Vixie cron 的历史兼容 —— 0 与 7 都映射到周日,让两种约定的脚本都能用。
步长可以超过字段范围吗?
不可以。分钟字段写 */60 不合法,因为它会超过 59,解析器会报错。