通过API或ECS控制台等执行云助手命令时,可基于Cron表达式设置云助手命令的定时执行计划。本文介绍Cron表达式的基本语法及其用法示例。
Cron表达式基本语法
Cron表达式是一种用于指定定时任务的时间表达式,常用来指定任务的执行时间、执行频率和执行间隔。它由6~7个字段组成,分别表示秒、分、时、日期、月份、星期、年份(可省略)。
Cron表达式的基本语法如下:
秒 分 时 日期 月份 星期 [年份]
-
[年份]:可省略。
-
关于单个字段:
-
单个字段可以是一个具体的值、一个范围、一个递增步长,或者具有逻辑意义的特殊字符。
-
单个字段若有多个取值时,使用半角逗号
,
隔开取值。 -
每个字段最多支持一个前导零。即可以使用01、02等表示,但不能使用001、002等表示。
-
字段的取值范围和支持的特殊字符,请参见字段取值和示例。
字段取值
下表为Cron表达式中七个字段的取值范围和支持的特殊字符。
字段 |
是否必需 |
取值范围 |
特殊字符 |
秒 |
是 |
[0, 59] |
* , – / |
分钟 |
是 |
[0, 59] |
* , – / |
小时 |
是 |
[0, 23] |
* , – / |
日期 |
是 |
[1, 31] |
* , – / ? L W |
月份 |
是 |
[1, 12]或[JAN, DEC] |
* , – / |
星期 |
是 |
[1, 7]或[MON, SUN]。在云助手命令中,若您使用[1, 7]表达方式, 重要 Cron表达式的使用方法和含义可能会根据不同的系统、框架或工具有所差异。若您在其他地方使用Cron表达式,1可能表示星期日,7表示星期六,具体以实际情况为准。 |
* , – / ? L # |
年 |
否 |
[当前年份,2099] |
* , – / |
特殊字符
Cron表达式中的每个字段都支持特殊字符,每个特殊字符都有其特殊含义。
特殊字符 |
含义 |
示例 |
|
匹配任意值。 |
在字段 |
|
列出枚举值。 |
在字段 |
|
指定范围。 |
在字段 |
|
指定数值的增量。 |
在字段 |
|
不指定值,仅用于日期和星期。 |
当字段 |
|
单词Last的首字母,表示最后一天,仅日期和字段 重要 指定 |
|
|
除周末以外的有效工作日,在离指定日期的最近的有效工作日触发事件。 |
在字段 |
|
确定每个月的第几个星期几。 重要 仅字段 |
在字段 |
示例
场景 |
取值 |
|
每天固定时间执行 |
每天上午10:15执行任务 |
|
每天中午12:00执行任务 |
|
|
每天多个固定时间执行 |
每天上午10:00点、下午14:00以及下午16:00执行任务 |
|
每间隔一段时间执行 |
每天上午09:00到下午17:00时间段内每隔半小时执行任务 |
|
每天下午14:00到下午14:59时间段内每隔1分钟执行任务 |
|
|
每天下午14:00到下午14:05时间段内每隔1分钟执行任务 |
|
|
每天下午14:00到下午14:55时间段内每隔5分钟执行任务 |
|
|
每天下午14:00到下午14:55、下午18:00到下午18:55时间段内每隔5分钟执行任务 |
|
|
特定星期/日期执行 |
每个星期三中午12:00执行任务 |
|
每月15日上午10:15执行任务 |
|
|
每月最后一日上午10:15执行任务 |
|
|
每月最后一个星期六上午10:15执行任务 |
|
|
每月第三个星期六上午10:15执行任务 |
|
|
特定年份的特定日期执行 |
每年3月的每个星期三下午14:10和14:44执行任务 |
|
2022年每天上午10:15执行任务 |
|
|
每年每天上午10:15执行任务 |
|
|
2022年每天下午14:00到下午14:55、下午18:00到下午18:55时间段内每隔5分钟执行任务 |
|
|
2022年至2023年每月第三个星期六上午10:15执行任务 |
|
|
2022年至2025年每天上午09:00到下午17:30时间段内每隔半小时执行任务 |
|
|
从2022年开始,每隔两年3月的每个星期三下午14:10和14:44执行任务 |
|
相关文档
-
更多Cron表达式说明,请参见Cron官方文档。
-
执行云助手命令时,除了使用Cron表达式以外,您还可以通过以下方式实现定时执行命令:
-
按固定时间间隔执行命令:使用Rate表达式。格式为:
rate()
。单位间隔取值:s 、m 、h、d。例如,每5分钟运行一次,取值为:rate(5m)。
-
仅在指定时间执行一次:通过设置时区和执行时间点。格式为
at(yyyy-MM-dd HH:mm:ss )
。例如,指定在中国上海时间2022年06月06日13时15分30秒执行一次,格式为:
at(2022-06-06 13:15:30 Asia/Shanghai)
。
详细使用说明,请参见API RunCommand/InvokeCommand的参数
Frequency
的说明。 -
关于阿里云ecs服务器的内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
本文来自投稿,不代表新手站长_郑州云淘科技有限公司立场,如若转载,请注明出处:https://www.cnzhanzhang.com/9727.html