速查表 · Cron 速查表 · Cron 每小时执行一次 — Crontab 示例
Cron 每小时执行一次 — Crontab 示例
0 * * * *
在每小时的第 0 分执行 — 一小时一次,正好整点。
逐字段解释
| 字段 | 值 | 含义 |
|---|---|---|
分钟 | 0 | 固定在第 0 分 |
小时 | * | 每一小时 |
每月几号 | * | 每一天 |
月份 | * | 每个月 |
星期几 | * | 每周的每一天 |
每小时任务的做法是把分钟字段钉在一个值(0),小时保留通配符。经典的新手错误是写成 * 0 * * * 以为它是每小时 — 它的真实含义是「0 点这一小时里的每一分钟」,也就是午夜到 1 点之间跑 60 次。
想改成每小时半点,改分钟就行:30 * * * *。只想在工作时段跑,就限定小时范围:0 9-17 * * 1-5 在周一至周五 9:00 到 17:00 的每个整点触发。
0 * * * * /usr/local/bin/hourly-rollup.sh
相关调度
常见问题
0 * * * * 和 * 0 * * * 差别在哪?
前者是每小时第 0 分;后者是只在 00:00 这一小时里每分钟都跑。字段顺序是分在前、时在后 — 大多数「我的 cron 跑了 60 次」的求助都源于这一点。
有 @hourly 简写吗?
有 — @hourly 等价于 0 * * * *。@daily、@weekly、@monthly、@yearly 也都有对应简写。
怎么避免和其他整点任务撞车?
把分钟偏移开(25 * * * *),或在脚本里加抖动。所有任务都挤在 :00 触发,会对共享依赖造成惊群式压力。
别死记语法 — 用可视化生成器
在 Cron 编辑器里试用这条排程完整速查表:Cron 速查表