UNIX cron 格式
UNIX cron 格式用于在 ADMIN_TASK_ADD 和 ADMIN_TASK_UPDATE 过程的 schedule 参数中指定时间。
cron 格式具有至少一个空格分隔的五个时间和日期字段。 字段值中不能有空白。 当 minute, hour和 month of year 字段与当前时间和日期匹配,并且至少有一个两天字段 (day of month或 day of week) 与当前日期匹配时,将执行预定任务。
表 1 以 cron 格式列出时间和日期字段及其允许的值。
字段名称 | 允许的值 |
---|---|
Minute | 0-59 |
Hour | 0-23 |
几号 | 1-31 |
Month |
|
星期几 |
|
范围和列表
允许数字范围。 范围是两个用连字符分隔的数字。 指定的范围包括在内。 例如,小时条目的范围 8-11 指定在小时 8 , 9 , 10 和 11 执行。
允许列表。 列表是一组用逗号分隔的数字或范围。 例如:
1,2,5,9
0-4,8-12
不受限制的范围
字段可以包含星号 (*) ,表示字段中的所有可能值。
命令的执行日期可由两个字段指定: day of month 和 day of week。 如果这两个字段都受到使用星号以外的值的限制,那么当任一字段都与当前时间匹配时,将运行该命令。 例如,值 30 4 1,15 * 5 将导致命令在每月的 1st 和 15th 凌晨 4:30 以及每个星期五运行。
步骤值
步骤值可与范围结合使用。 语法 range/step
定义范围和执行时间间隔。
如果指定 first-last/step
,那么执行将在 first执行,然后在 step远离 first 的所有连续值执行,直到 last为止。
例如,要每隔一小时指定一次命令执行,请使用 0-23/2
。 此表达式等同于值 0,2,4,6,8,10,12,14,16,18,20,22
。
如果指定 */step
,那么将在 步骤 的每个时间间隔内执行不受限制的范围。 例如,作为每隔一小时执行一次的 0-23/2
的替代方法,请使用 */2
。
示例
表 2 列出了可用于各种调度方案的 ADMIN_TASK_ADD 或 ADMIN_TASK_UPDATE 过程中的 schedule 参数的值。
期望的任务调度 | schedule 值 |
---|---|
每周一下午 2:10 | 10 14 * * 1 |
每天午夜 | 0 0 * * * |
每个工作日的午夜 | 0 0 * * 1-5 |
1st 和 15th 天的午夜 | 0 0 1,15 * * |
6.32 每年 11 月的 17th, 21st 和 29th 的 PM 加上每年 11 月的每个星期一和星期三 | 32 18 17,21,29 11 mon,wed |