字段 | 意义 | 允许值 |
---|---|---|
第一个“*” :分 (Minute) | 表示分钟数,范围从 0 到 59。 | 0-59 |
第二个“*” :小时 (Hour) | 表示小时数,范围从 0 到 23。 | 0-23 |
第三个“*” :日 (Day of month) | 表示每月的哪一天,范围从 1 到 31。特殊字符 ? 可以用来代替不确定的值。 | 1-31, ? |
第四个“*” :月 (Month) | 表示月份,范围从 1 到 12。可以用数字或缩写形式 (JAN–DEC) 来指定。 | 1-12 or JAN-DEC |
第五个“*” :周 (Day of week) | 表示星期几,范围从 0 到 6,其中 0 表示周日,1 表示周一,以此类推。还可以使用缩写形式 (SUN-SAT) 来指定。特殊字符 ? 和 # 可以用来代替不确定的值和第几个星期。 | 0-6 or SUN-SAT, ?, # |
允许的特殊字符 | * , - / ? L W # |
特殊符号的解释:
特殊符号 | 意义 |
---|---|
* |
代表所有可能的值。例如,在分钟字段中使用 * 就表示每分钟都会运行作业。 |
, |
可以用来分隔值。例如,在小时字段中使用 5,10 表示在 5 点和 10 点各执行一次。 |
- |
可以用来表示范围。例如,在日字段中使用 1-31 表示从 1 号到 31 号每天都会执行一次作业。 |
/ |
可以用来表示步长。例如,在分钟字段中使用 */2 表示每隔 2 分钟执行一次。 |
? |
只能在日子或星期字段中使用。它指定这个字段应该留空,或者说不关心它的具体值。 |
L |
只能在日子或星期字段中使用。它表示一个月中的最后一天(对于日子字段)或一个星期中的最后一个工作日(对于星期字段)。 |
W |
只能在日子字段中使用。它表示一个月中离指定日期最近的工作日(距离指定日期最近的上一个或下一个工作日)。 |
# |
只能在星期字段中使用。它表示这个月的第几个星期,例如 2#3 表示这个月的第三个星期二。 |
crontab特殊符号的举例格式:
-
*
- 表示匹配任意值。例如,* * * * *
将匹配每分钟的每一秒,并在每次执行时运行命令。 -
*/n
- 表示每 n 单位时间运行一次任务。例如,0 */3 * * *
表示每三个小时运行一次任务。 -
*/5
- 表示每 5 单位时间运行一次任务。例如,*/5 * * * *
表示每五分钟运行一次任务。 -
,
- 表示多个数值。例如,0 0 1,15 * *
表示在每个月的1日和15日,都会在零点执行任务。 -
-
- 表示一个范围。例如,0 0 1-10 * *
表示在每个月的1日到10日,都会在零点执行任务。 -
?
- 用于在日、星期字段中,表示不指定任何值。例如,0 0 * ? * *
表示在每个小时的零分执行任务,但不关注日期和星期几。 -
L
- 用于表示月份或星期中的最后一天。例如,0 0 L * *
表示在每个月的最后一天,在零点执行任务。 -
W
- 可以表示离指定日期最近的工作日。例如,0 0 15W * *
表示在本月15号最近的工作日,在零点执行任务。 -
#
- 可以表示该月中第几个星期几。例如,0 0 ? * 6#3
表示在每个月的第三个星期五,在零点执行任务。
以下是云虚拟主机实际使用举例:
表达式 | 意义 |
---|---|
0 2 * * * |
每天凌晨 2 点运行。 |
30 8 * * 1-5 |
工作日上午 8:30 运行。 |
0 0 1,15 * 1 |
每月第 1 日和第 15 日的凌晨运行。 |
0 0 * * 0 |
每周日的凌晨运行。 |
0 0 1 * * |
每月第 1 日的凌晨运行。 |
0 0 L * * |
每月最后一天的凌晨运行。 |
0 0 LW * * |
每月最后一个工作日的凌晨运行(在某些国家中,这可能包括最后一个周五或周六)。 |
0 0 15W * * |
每月 15 日附近的最后一个工作日的凌晨运行。 |
0 0 5,13 * * |
每天早上 5 点和下午 1 点的凌晨各运行一次。 |
0 0-6/2 * * * |
在 0 点、2 点、4 点和 6 点的凌晨运行。 |
0 30 10-13 ? * WED,FRI |
每周三和周五上午 10:30 起,至下午 1:30 停止,每整点开始。 |
0 0/5 * * * ? |
在每分钟的第 0 秒、第 5 秒、第 10 秒等等时刻启动作业。 |
0 0/5 * * * * |
每 5 分钟启动作业。 |
0 */2 * * * * |
每 2 分钟启动作业。 |
0 15,45 * * * * |
在每小时的第 15 分钟和第 45 分钟启动作业。 |
0 15,30,45 * * * * |
在每小时的第 15 分钟、第 30 分钟和第 45 分钟启动作业。 |
0 */10 * * * * |
每 10 分钟启动作业。 |