免费转换器

Cron 表达式 生成器

在浏览器中即时生成、解释和验证 cron 表达式。可视化构建器和表达式解析器 — 免费、私密、客户端运行。

Cron 表达式
0 */6 * * *
易读描述
Every minute
接下来5次执行时间
Calculating...

关于此工具

Cron 表达式是五个(或六个,具体取决于系统)空格分隔的字段,用于描述计划:分钟、小时、日期、月份和星期几。每个字段接受数值、范围、列表、增量和通配符。自 20 世纪 70 年代末以来,Cron 一直是事实上的 Unix 调度格式,现在的使用范围远远超出了 Unix,包括 Kubernetes CronJobs、GitHub Actions、AWS EventBridge 规则、Jenkins 作业以及几乎所有其他生产中的调度系统。

手动读写 cron 表达式很容易出错。这些字段是位置性的,月份和星期几的交互并不明显(任一字段中的值都会触发作业,而不是两者),并且错误会悄悄地生成看起来正确但在错误时间触发的计划。将简单英语计划转换为正确的 cron 语法的生成器可以避免这些错误。

该工具提供两个方向:从友好的形式构建 cron 表达式(每周一上午 9 点,工作时间每 5 分钟一次),以及用人类术语解释现有的 cron 表达式。两者都在浏览器中运行,无需任何服务器交互。

为什么使用 Cron 生成器

Cron 语法密集且无情。常见错误包括混淆星期编号(星期日是 0 或 7,具体取决于系统)、忘记月份中的某一天和星期几使用 OR 语义,以及误解增量语法(*/5 表示从 0 开始每 5 个)。生成器通过构造捕获这些 - 生成的表达式与您在表单中描述的内容相匹配。

阅读现有的表达式同样困难。一旦您了解了语法,像 0 9 * * 1-5 这样的时间表就会读作每个工作日上午 9 点,但任何不熟悉 cron 的人都必须查找每个字段。用人类术语解释表达比学习一次性交互的语法更快。

使用方法

选择一个计划模式,获取 cron 表达式。

  1. 选择生成模式: 根据表单输入(频率、时间、天数)构建 cron 表达式,或用人类术语解释现有表达式。
  2. 配置时间表: 选择频率(每分钟、每小时、每天、每周、每月、自定义)。根据需要指定时间、天数和间隔。该表单将输入限制为有效组合。
  3. 生成或解释: Generation 生成标准 cron 语法(5 个字段)。该解释分解了每个字段并给出了人类可读的摘要。
  4. 在您的调度程序中使用: 将生成的表达式粘贴到 Kubernetes CronJob 规范、GitHub Actions 计划、AWS EventBridge 或您平台的调度程序中。

常见用例

技术细节

标准 cron 有五个字段:分钟 (0–59)、小时 (0–23)、月份 (1–31)、月份 (1–12)、星期几(0–6 或 0–7,均为星期日)。每个字段接受单个值、逗号分隔列表、带连字符的范围、带 / 的增量或带 * 的通配符。

月份和星期几使用 OR 语义:如果其中任一设置为非通配符值,则作业在任一匹配时运行。这是违反直觉的,但符合 POSIX cron 行为。设置这两个字段会产生更宽的时间表,而不是更窄的时间表。

扩展因实现而异。有些接受秒的第六个字段(Quartz、Spring);有些接受?作为通配符替代;有些包括@yearly、@monthly、@daily 快捷方式。该生成器生成适合大多数系统的标准 5 字段 cron。

最佳实践

常见问题

cron 表达式的格式是什么?
标准 cron 使用 5 个字段:分钟 (0-59)、小时 (0-23)、月份 (1-31)、月份 (1-12)、星期几 (0-7,其中 0 和 7 是星期日)。特殊字符:*(任意)、、(列表)、-(范围)、/(步长)。
如何将作业设置为每 5 分钟运行一次?
在分钟字段中使用 */5:“*/5 * * * *”。 /5 表示“每第 5 个值”。同样,*/15 = 每 15 分钟一次,*/2 = 每 2 分钟一次。
cron 使用什么时区?
Cron 通常使用系统时区。在 Linux 服务器上,除非另有配置,否则通常为 UTC。云服务(AWS、GCP)通常默认为 UTC。请务必检查系统的时区设置。
这与 GitHub Actions 使用的格式相同吗?
GitHub Actions 使用相同的 5 字段格式,但在 UTC 时区运行。 AWS CloudWatch 和 Kubernetes CronJobs 也使用这种格式。有些系统(例如 Quartz)使用带有秒的扩展 6-7 字段格式。
星期几中的 0 和 7 有什么区别?
两者都表示星期日。 POSIX cron 接受 0–6 或 0–7。使用您喜欢的特定 cron 实现;大多数人两者都接受。
对于非标准 cron 的解释器是否准确?
它的目标是标准的 5 字段 cron。 Quartz 扩展(带秒)、AWS EventBridge 变体和其他方言可能无法正确解析。根据目标系统的文档进行确认。
我的表情会发送到服务器吗?
不会。生成和解释发生在您的浏览器中。
@yearly、@monthly 快捷方式怎么样?
常见的 cron 实现支持 @yearly、@monthly、@weekly、@daily、@hourly 和 @reboot 作为常见计划的快捷方式。生成器生成标准的 5 字段表达式;如果您的调度程序接受快捷方式,您可以手动替换它们。