工作日 09:00
- 输入
- 0 9 * * 1-5
- 结果
- 周一至周五 09:00
星期取值 0–6,周日为 0。0 和 7 都表示周日。
粘贴 cron 表达式,看它究竟什么时候执行。每个字段都会被拆开说明,执行时间按调度器所用的时区计算——绝大多数 cron 事故正是从这里开始的。
常用计划
| 字段 | 值 | 匹配 |
|---|---|---|
| 分 | 0 | 0 |
| 时 | 9 | 9 |
| 日 | * | 所有值 |
| 月 | * | 所有值 |
| 星期 | 1-5 | 一, 二, 三, 四, 五 |
全部在浏览器内完成. 这个页面是静态文件。你输入的内容只留在标签页里,不会发送到服务器,关闭即消失。所以粘贴真实的令牌或配置是安全的。
30 2 * * 0 是什么意思。星期取值 0–6,周日为 0。0 和 7 都表示周日。
步长只在指定范围内生效,所以到 18:45 就停,不会整夜运行。
两个日期字段都限定时,cron 取的是并集而不是交集。
没有设置 timeZone 的 Kubernetes CronJob 使用控制器的时区,通常是 UTC。写成 09:00 就会在北京时间 17:00 执行。
步长是从 0 开始对整个范围取值,小时字段的 */5 表示 0、5、10、15、20 点,而不是从现在起每五小时。
两个都收紧只会让执行更频繁,而不是更少。除非你确实想要并集,否则请把其中一个留成 *。
标准 Unix cron 和 Kubernetes CronJob 是 5 个:分、时、日、月、星期。AWS EventBridge 多一个年份字段共 6 个,并要求两个日期字段中有一个写 ?。Quartz 在最前面加了秒,共 6 或 7 个。
除非设置 spec.timeZone,否则计划会按 kube-controller-manager 的时区解释,通常是 UTC。请显式设置,或者直接按 UTC 编写并在文档中写明。
它是 0 0 * * * 的简写,即每天零点。其他简写还有 @hourly、@weekly、@monthly 和 @yearly。@reboot 不同,它在启动时执行,没有固定时刻。