# 常见问题
# 如何设置定时任务的定时触发规则?
定时任务的定时触发规则支持输入 Crontab 表达式。
注意:由于 Kubernetes 使用的是 UTC(Universal Time Coordinated,协调世界时) 时间,当您设置定时任务的定时触发规则时,如果需要设置为本地时间(例如:北京时间),需要先将北京时间(东八区)转换成 UTC 时间,然后将 UTC 时间转换为 Crontab 表达式。
# 转换时间
时间转换规则:本地时间 - 时差 = UTC
以 北京时间转 UTC 时间 为例进行说明:
北京位于东八区,北京时间和 UTC 时间的时差是 8 小时,时间转换规则:
北京时间 - 8 = UTC
示例 1:北京时间 9 点 42 分,转换成 UTC 时间:42 09 - 00 08 = 42 01,即 UTC 时间为凌晨 1 点 42 分。
示例 2:北京时间凌晨 4 点 32 分,转换成 UTC 时间:32 04 - 00 08 = -68 03,如果是负数,表明是前一天,需要再做一次转换:-68 03 + 00 24 = 32 20,即 UTC 时间为前一天晚上 8 点 32 分。
# 编写 Crontab 表达式
Crontab 基本格式及取值范围:分钟 小时 日 月 星期
,对应的取值范围请参见下表:
分钟 | 小时 | 日 | 月 | 星期 |
---|---|---|---|---|
[0-59] | [0-23] | [1-31] | [1-12] 或 [JAN-DEC] | [1-7] 或 [SUN-SAT] |
分钟 小时 日 月 星期
位允许输入的特殊字符包括:
,
:值列表分隔符,用于指定多个值。例如:1,2,5,7,8,9
。-
:用户指定值的范围。例如:2-4
,表示 2、3、4。*
:代表整个时间段。例如:用做分钟时,表示每分钟。/
:用于指定值的增加幅度。例如:n/m
表示从 n 开始,每次增加 m。\
常见示例:
输入
30 18 25 12 *
表示12 月 25 日 18:30:00
触发任务。输入
30 18 25 * 6
表示接下来每个周六的 18:30:00
触发任务。输入
30 18 * * 6
表示接下来的每个周六的 18:30:00
触发任务。输入
* 18 * * *
表示从离设置生效最近的 18:00:00 开始,每过一分钟(包括 18:00:00)
触发任务。输入
0 18 1,10,22 * *
表示每月 1、10、22 日的 18:00:00
触发任务。输入
0,30 18-23 * * *
表示接下来每天 18:00 至 23:00 之间,每个小时的 00 分和 30 分
触发任务。输入
* */1 * * *
表示每过 1 分钟
触发任务。输入
* 2-7/1 * * *
表示每天 2 点到 7 点之间,每过 1 分钟
触发任务。输入
0 11 4 * mon-wed
表示每月 4 日与每周一到周三的 11 点
触发任务。
← 产品特点