Crontab时间格式写法详解

作者:技术拾光时间:2026-07-23 08:10:08浏览:343

Crontab时间格式由五个字段组成,分别表示分钟、小时、日期、月份和星期几,每个字段有特定取值范围。特殊符号*表示每,,指定多个值,-表示范围,/表示步长。通过组合这些字段和符号,可灵活设置定时任务。

Crontab 的时间格式由五个字段组成,每个字段代表一个时间单位,具体对应关系如下图所示:

Crontab时间格式写法详解

* * * * * command-to-execute
└─┬─┘└─┬─┘└─┬─┘└─┬─┘└─┬─┘
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
└─────┴─────┴─────┴─────┴─────
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
└─────────┴─────────┴─────────┴─────────┘
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
└───────────────┴───────────────┴───────────────┘
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
└───────────────────────┴───────────────────────┘
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
└───────────────────────────────┘

字段含义

五个字段分别表示以下时间单位:

  1. 分钟(0-59)
  2. 小时(0-23)
  3. 日期(1-31)
  4. 月份(1-12)
  5. 星期几(0-7,其中0和7都表示星期日)

特殊符号说明

每个字段可搭配以下特殊符号,使时间表达更灵活:

  • *:通配符,匹配该时间单位的所有可能值,相当于“每”。
  • ,:逗号,用于指定多个离散值,例如1,3,5表示1、3和5。
  • -:连字符,表示连续范围,例如1-5表示从1到5。
  • /:斜杠,表示步长,例如*/2表示每隔2个单位执行一次。

示例解析

以下示例展示常见定时任务的写法:

  • 0 * * * *:每小时的第0分钟执行,即整点执行。
  • 0 0 1 * *:每月1号凌晨0点执行。
  • 0 0 1 1 *:每年1月1号凌晨0点执行(月份和日期同时指定)。
  • 0 0 1 1 0:每年1月1号恰逢星期日时,凌晨0点执行。
  • 0 0 1 1 */2:每隔两天(即1号、3号、5号……)的凌晨0点执行,月份限定为1月,因此只在1月单数日执行。

结合上述符号,可以满足绝大多数定时任务的配置需求。