如何构建 cron 表达式

· 4 分钟阅读

cron 表达式是在 Linux、云平台、CI/CD 流水线和任务调度器上定义周期性计划的标准方式。语法紧凑但不直观 · 可视化生成器能精确告诉您任务何时执行。

cron 语法

cron 表达式有 5 个字段:

┌───────────── 分(0-59)
│ ┌───────────── 时(0-23)
│ │ ┌───────────── 日(1-31)
│ │ │ ┌───────────── 月(1-12)
│ │ │ │ ┌───────────── 星期几(0-6,周日 = 0)
│ │ │ │ │
* * * * *

常见 cron 计划

计划 表达式 含义
每分钟 * * * * * 每 60 秒运行一次
每 5 分钟 */5 * * * * 在 :00、:05、:10、:15…
每小时 0 * * * * 每小时的开头
每天午夜 0 0 * * * 每天 00:00 一次
每天 9 点 0 9 * * * 每天 09:00 一次
每周一 8 点 0 8 * * 1 每周一
每月 1 日 0 0 1 * * 每月 1 日午夜
工作日 18 点 0 18 * * 1-5 周一至周五

如何构建 cron 表达式

  1. 定义您的计划· 使用可视化控件选择分、时、日、月和星期几的值。或从预设开始,如「每小时」或「每天午夜」。
  2. 预览执行时间· 生成器会显示接下来 5 次运行时间,验证计划是否正确。
  3. 复制表达式· 粘贴到您的 crontab、CI/CD 配置或云调度器中。

特殊字符

字符 含义 示例
* 每个值 * * * * * = 每分钟
*/n 每 n 个 */15 * * * * = 每 15 分钟
, 多个值 0 8,12,18 * * * = 8 点、中午、18 点
- 范围 0 9-17 * * * = 每小时(9–17 点)

小贴士

常见问题

cron 表达式的格式是什么?

标准 cron 表达式有 5 个由空格分隔的字段,分别表示分(0-59)、时(0-23)、日(1-31)、月(1-12)和星期几(0-6,其中 0 是周日)。星号(*)表示该字段的「每个」值。

cron 中的 */5 是什么意思?

*/5 语法表示「每 5 个」。在分字段中,*/5 表示每 5 分钟(0、5、10、15…)。在时字段中,*/5 表示每 5 小时。它适用于任意字段。

cron 表达式在所有平台上都相同吗?

5 字段格式在 Linux cron、AWS EventBridge、GitHub Actions 和大多数调度系统上是标准。某些平台会添加第 6 个字段用于秒或年份。请查阅您平台的文档。

如何为每月最后一天安排任务?

标准 cron 没有「最后一天」关键字。可以使用变通方法,如每天运行并在脚本中检查日期,或使用平台特有的扩展(AWS EventBridge 支持 L 表示「last」)。