第 2 课

字段与语法

五字段 cron 中的通配符、列表、范围与步长。

读懂 cron 就是从左到右读 五个受约束的整数(或通配符)。

字段顺序与范围

字段允许值(典型 Unix)
0–59
0–23
1–31
1–12(部分解析器支持英文名)
0–7(0 与 7 常均表示周日)

记忆:分在时前日在月前,最后是

部分系统有 字段——本课程默认讲常见的五字段行。

通配符 *

字段中的 * 表示「该字段每个允许值」。

  • * * * * * — 每分钟(生产环境极少需要)
  • 0 * * * * — 每小时的第 0 分(整点)

列表与范围

  • 列表:分钟字段 0,15,30,45 — 每小时四次
  • 范围:周字段 1-5 — 周一至周五(注意平台对 0/1 起始的差异)
  • 组合:时字段 9-17 — 在匹配的分钟上覆盖 9–17 点

步长 /

分钟字段 */5 表示「从 0 起每 5 分钟」:0、5、10、…

30-59/10 表示分钟 30、40、50。

步长作用于 / 前的原子。步长位置放错是常见解析错误。

日 vs 周

同时被限制(非 *)时,Unix cron 通常按 或(OR) 而非 且(AND)

  • 0 0 1 * 1 — 每月 1 日 0 点 每周一 0 点(满足其一即触发)

若需要「每月第一个周一」,单靠 cron 很别扭——可用包装脚本或更强调度器。

非法组合

2 月 31 日、分钟 60 等均非法。良好解析器会 early reject;静默工具可能给出空的下次执行列表。

要点

逐字段 构建表达式:先定分、时,再决定日期过滤放在日、周或两者——并牢记 OR 语义。写入生产 crontab 前用解析器验证。

想动手练习时,可使用 DevCove 相关工具——可选,不属于本课正文。

打开相关工具

返回课程概览