速查表 · 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 速查表