每 5 分钟
*/5 * * * *
每 5 分钟一次:从整点开始,之后每隔 5 分钟。
步长(*/5)是表达“每 N 个”的最简单写法,不用把每个数字都列出来。常用于健康检查和轮询任务。
生成、解读和预览 cron 计划,并显示接下来的运行时间。
最后更新
Coddy 让你在浏览器里编写真实代码来学习:互动课程、即时反馈,卡住时还有 AI 帮忙。
Cron 表达式是描述周期性计划的一种紧凑写法。它和 Unix cron(最早的 Linux 定时调度器)用的是同一套语法,如今几乎所有任务调度工具都在用它:Kubernetes CronJob、GitHub Actions 定时触发、AWS EventBridge、Cloudflare Workers、Vercel cron,以及大多数 CI/CD 平台。
这种格式看起来吓人,其实只是用空格分隔的五个字段:分钟、小时、日期(一个月中的第几天)、月份、星期。每个字段可以是一个数字、一个列表(1,15)、一个范围(9-17)、一个步长(*/5)或通配符(*)。好用的 cron 工具会把表达式翻译成易懂的语言,并列出接下来的触发时间,让你在部署前就能核对。
有些平台在基础的 5 字段语法上做了扩展,在开头加一个“秒”字段(Quartz、Spring、Kubernetes 的 6 字段格式),或在末尾加一个“年”字段。粘贴表达式之前,务必先确认你的调度器接受哪种格式。
* 表示该字段的“每一个值”,这也是计划触发次数比预期多的最常见原因。*/N 表示“每 N 个单位”,分钟字段里的 */5 就是“每 5 分钟”。*、只给另一个指定值,才是表达“仅工作日”或“仅每月某天”规则的稳妥写法。选一个和你需求接近的预设,例如“每分钟”“每小时”“每天 09:00”“工作日 09:00”“每月 1 日”。表达式会出现在编辑器里。
编辑分钟、小时、日期、月份、星期。用 * 表示任意值,也可以用逗号列表、范围(9-17)或步长(*/15)。
工具会把你的表达式翻译成一句话(例如“在 09:00 每逢工作日”)。如果这句话和你想要的不一致,说明表达式写错了。
按你所在的本地时区核对接下来 5 至 10 次的运行时间。如果计划时间靠近夏令时切换点,要特别留意。
把表达式放进你的 crontab、GitHub Actions 工作流、Kubernetes CronJob,或你正在使用的任何调度器。
标准 cron 表达式的五个字段,按顺序排列。参考:POSIX crontab(5) 手册页。
| 位置 | 字段 | 取值范围 | 特殊字符 |
|---|---|---|---|
| 1 | 分钟 | 0 至 59 | * , - / |
| 2 | 小时 | 0 至 23 | * , - / |
| 3 | 日期 | 1 至 31 | * , - / ?(部分方言) |
| 4 | 月份 | 1 至 12 或 JAN 至 DEC | * , - / |
| 5 | 星期 | 0 至 6(周日=0)或 SUN 至 SAT | * , - / |
*/5 * * * *
每 5 分钟一次:从整点开始,之后每隔 5 分钟。
步长(*/5)是表达“每 N 个”的最简单写法,不用把每个数字都列出来。常用于健康检查和轮询任务。
0 9 * * 1-5
每周一至周五的 09:00。
星期范围 1-5 表示周一到周五。适合上班时间的提醒和只在工作日发送的摘要。
0 0 1 * *
每月 1 日的 00:00。
日期设为 1,其他字段都用 *,就得到一个真正的每月任务。常用于账单、报表和轮换类任务。
0,30 9-17 * * 1-5
周一至周五,09:00 到 17:00 之间每小时的第 0 分和第 30 分。
逗号列表(0,30)加一个范围(9-17)再加工作日。像只在上班时间才有意义的 BI 数据刷新或队列清理,就会用这种计划。
*/45 并以为它每 45 分钟触发一次。步长是从 0 开始计算的,所以 */45 在第 0 分和第 45 分触发,并不是真正的 45 分钟间隔。0 2 * * * 这样的计划,在时钟回拨那天可能运行两次,而在时钟拨快那天一次也不运行。* 表示“每一个值”,用数字表示确定的值,也可以用逗号列表(1,15)、范围(9-17)或步长(*/5)。*/5 * * * * 是什么意思?*/5 在第 0 分触发,之后每隔 5 分钟一次:0、5、10、15、…、55;其他字段都是 *,表示每小时、每天、每月、每周的每一天都会触发。TZ=Europe/Berlin、AWS 的计划表达式等)。拿不准时,就用 UTC 保存计划。标准 5 字段 cron 的最小单位是分钟,所以最高精度是每分钟一次。Quartz cron、Spring cron 和部分 Kubernetes 版本增加了第 6 个“秒”字段,支持一分钟以内的计划。
0 0 * * 0 和 0 0 * * 7 有什么区别?7 也被当作周日。