调度计划
常用计划
构建表达式
分钟
0–59
小时
0–23
日期
1–31
月份
1–12 or JAN–DEC
星期
0–6 (Sun=0) or SUN–SAT
输出
Cron 表达式
0 9 * * *
接下来 10 次执行
快速参考
| 符号 | 含义 | 示例 |
|---|---|---|
* |
任意值 | * * * * * |
, |
值列表 | 1,15 * * * * |
- |
范围 | 0 9-17 * * * |
/ |
步进 / 每 N | */15 * * * * |
格式
MIN HOUR DOM MON DOW
Cron 表达式生成器与解析器
什么是 cron 表达式?
Cron 是 Unix 任务调度器,按固定计划运行命令。每个表达式包含五个字段:分钟(0–59)、小时(0–23)、日期(1–31)、月份(1–12)、星期(0–6,周日 = 0)。* 匹配任意值,*/n 表示每 n 步执行一次,n-m 定义范围,n,m 列出特定值。
常用模式
*/15 * * * *— 每 15 分钟0 9 * * 1-5— 工作日上午 9 点0 0 1 * *— 每月 1 日午夜0 0 * * 0— 每周日午夜30 8 * * 1— 每周一上午 8:30
常见问题
cron 的最小间隔是多少?
一分钟。如需精确到秒的调度,请使用 APScheduler、node-cron 等专用调度器,或 systemd timers 这类支持秒级精度的平台。
如何在每个工作日上午 9 点运行任务?
使用 <code>0 9 * * 1-5</code>。第五个字段是星期几:1 = 周一,5 = 周五。
同时设置了“日”和“星期”时,以哪个为准?
在最常见的 Vixie cron 中,任一条件满足时任务就会运行。<code>0 0 1 * 5</code> 会在每月 1 日零点以及每个周五零点触发。
为什么月份从 1 开始,星期却从 0 开始?
月份(1–12)遵循日历习惯。星期(0–6)沿用 POSIX 最初的设计,周日 = 0。部分系统也接受 7 表示周日。
分钟字段中的 */5 和 0/5 有什么区别?
<code>*/5</code> 在 :00、:05、:10 … :55 运行。<code>0/5</code> 效果相同,因为 0 是起始偏移。若要从 :15 开始,请使用 <code>15/5</code>。