DevBox

Cron 表达式怎么写?五个字段规则详解与示例

DevBox 团队 · 最后更新 2026-07-01

想直接生成?试试 Cron 表达式生成器 —— 填参数即出结果。 打开工具 →

先理解结构

一条 cron 表达式是 5 个字段,用空格分隔:

┌─ 分钟 (0-59)
│ ┌─ 小时 (0-23)
│ │ ┌─ 日 (1-31)
│ │ │ ┌─ 月 (1-12)
│ │ │ │ ┌─ 星期 (0-6, 0=周日)
│ │ │ │ │
* * * * *

写 cron 的核心思路:哪个字段要限制,就填具体值;不限制就填 *

四个关键符号

  • * —— 每一个。放在某字段表示”该维度不限制”。
  • , —— 枚举。如小时位 9,12,18
  • - —— 区间。如星期位 1-5(周一到周五)。
  • / —— 步长。如分钟位 */15(每 15 分钟)。

一步步构造

目标 1:每 5 分钟执行一次。 只需限制分钟维度为”每 5 分钟”,其余不限:

*/5 * * * *

目标 2:每天凌晨 3 点执行。 限制分钟=0、小时=3,其余不限:

0 3 * * *

目标 3:每周一上午 9 点执行。 分钟=0、小时=9、星期=1:

0 9 * * 1

目标 4:工作日每小时整点执行。 分钟=0、星期=1-5:

0 * * * 1-5

规律:从左到右,把要固定的维度填上具体值,其余留 *。需要”每隔 N”就用 /,需要”多个具体值”就用 ,,需要”一段范围”就用 -

装进 crontab

写好表达式后,配上要执行的命令,放进 crontab:

# crontab -e 后加入一行:
0 3 * * * /usr/bin/backup.sh >> /var/log/backup.log 2>&1
  • 前半段是”什么时候”(表达式),后半段是”执行什么”(命令)。
  • 命令建议用绝对路径,并把输出重定向到日志便于排查。
  • 保存退出后,用 crontab -l 确认已添加。

Cron 表达式生成器 里填好命令,可以直接得到这一整行 crontab,复制即用;它还给出 Windows 任务计划程序、Node.js、Python、Spring 等环境的对应写法。

验证你的表达式

新手最容易写错的是”以为每天却变成每分钟”。写完务必验证:

  1. 打开 Cron 表达式生成器;
  2. 粘贴你的表达式;
  3. 中文解释未来 5 次执行时间是否符合预期。

继续学习

常见问题

每 5 分钟执行怎么写?

写成 */5 * * * *。分钟位的 */5 表示"每隔 5 分钟",其余字段为 * 表示不限制。

每天固定时间执行怎么写?

把分钟和小时设为具体值、其余为 *。例如每天 3 点 30 分是 30 3 * * *。

怎么确认自己写的 cron 对不对?

把表达式粘到 Cron 表达式生成器,它会给出中文解释和未来几次执行时间,一眼就能核对是否符合预期。

继续了解 Cron 生成器