admin管理员组文章数量:1566356
cron
# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of the month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12)
# │ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday;
# │ │ │ │ │ 7 is also Sunday on some systems)
# │ │ │ │ │
# │ │ │ │ │
# * * * * * <command to execute>
cron expression
Field | Required | Allowed values | Allowed special characters | Remarks |
---|---|---|---|---|
Minutes | Yes | 0–59 | * , - | |
Hours | Yes | 0–23 | * , - | |
Day of month | Yes | 1–31 | * , - ? L W | ? L W only in some implementations |
Month | Yes | 1–12 or JAN–DEC | * , - | |
Day of week | Yes | 0–6 or SUN–SAT | * , - ? L # | ? L # only in some implementations |
Year | No | 1970–2099 | * , - | This field is not supported in standard/default implementations. |
逗号(,
)
逗号用于分隔列表中的项目。例如,在第五个字段(星期几)中使用“ MON,WED,FRI”表示星期一,星期三和星期五。
破折号(-
)
破折号定义范围。例如,2000–2010表示2000年至2010年(含)之间的每一年。
百分比(%
)
除非使用反斜杠(\)进行转义,否则命令中的百分号(%)会更改为换行符,并且将第一个%之后的所有数据作为标准输入发送至命令。
非标准字符
以下是非标准字符,仅在某些cron实现中存在,例如Quartz Java Scheduler。
L
“ L”代表“最后”。在“星期几”字段中使用时,它允许指定给定月份的结构,例如“最后一个星期五”(“ 5L ”)。在“每月的日期”字段中,它指定该月的最后一天。
W
“月”字段中允许使用“ W”字符。此字符用于指定最接近给定日期的工作日(星期一至星期五)。例如,如果将“ 15W ”指定为“月日”字段的值,则含义是:“离该月15日最近的工作日”。因此,如果15号是星期六,那么触发器将在14号星期五触发。如果15日是星期日,则触发器将在16日星期一触发。如果15号是星期二,那么它将在15号星期二触发。但是,如果将“ 1W”指定为月份的值,而第1个是星期六,则触发器将在第3个星期一触发,因为它不会“跳过”一个月日的边界。仅当月份中的某天是一天而不是范围或天数列表时,才可以指定“ W”字符。
哈希(#
)
星期几字段中允许使用“#”,并且必须在其后跟一个介于1到5之间的数字。它允许指定结构,例如给定月份的“第二个星期五”。例如,在“星期几”字段中输入“ 5#3”对应于每月的第三个星期五。
问号(?
)
在某些实现中,使用“ * ”代替“ * ”来保留月日或星期几为空。其他cron实现替代“?” cron守护程序的启动时间,因此它将更新为cron在上午8:25启动,并且每天每天该时间运行一次,直到再次重新启动为止。? ? * * * *
25 8 * * * *
斜线(/
)
在vixie-cron中,可以将斜线与范围组合以指定步长值。例如,分钟字段中的* / 5表示每5分钟一次(有关频率,请参见下面的注释)。它是更详细的POSIX格式的缩写,形式为5,10,15,20,25,30,35,40,45,50,55,00。POSIX没有定义斜杠的用法;它的基本原理(在BSD扩展上做注释)指出该定义基于System V格式,但不排除扩展的可能性。
请注意,通常无法表达频率;只有平均分配其范围的步长值才能表示准确的频率(对于分钟和秒,分别为/ 2,/ 3,/ 4,/ 5,/ 6,/ 10,/ 12,/ 15,/ 20和/ 30, 因为60为被这些数字整除的数小时;分别是/ 2,/ 3,/ 4,/ 6,/ 8和/ 12); 所有其他可能的“步骤”和所有其他字段在“重置”至下一分钟,第二天或一天之前,在时间单位末尾产生不一致的“短”时间段;例如,根据月份和leap年的不同,在天字段中输入* / 5有时会在1天,2天或3天之后执行;这是因为cron是无状态的(它不记得上一次执行的时间,也不计算精确频率计数所需要的时间与现在之间的差,而cron仅仅是模式匹配器)。
H
在詹金斯(Jenkins)连续积分系统中使用“ H”表示替换为“哈希”值。因此,代替表示诸如“ 20 * * * *
”的固定数字(表示在每小时的每小时之后20分钟),“ H * * * *
”表示每小时在每个任务的未指定但不变的时间执行任务。这允许随着时间的推移分散任务,而不是让所有任务同时开始并争夺资源。
示例
- 每天00:45
schedule_interval='45 00 * * *'
- 每天08:01,09:01,10:01 到 22:01
schedule_interval='01 08-22/1 * * *'
- 每个周六的23:45
schedule_interval='45 23 * * 6'
- 每天01:00, 01:05, 01:10, 直到 03:55
schedule_interval='*/5 1,2,3 * * *'
本文标签: 周期cronairflowscheduleinterval
版权声明:本文标题:cron: airflow 运行周期设置 schedule_interval 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1725781389a1042247.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论