随着应用的逐渐增多,部分应用占用了资源却处于闲置状态,会造成资源浪费。例如,应用开发完成后对其进行测试联调,完成测试联调后未将应用实例释放。您可以使用一键批量启停功能将闲置应用停止以释放资源。当需要再次使用时可以一键批量启动应用,继续执行相关业务。本文介绍如何使用Crontab表达式创建定时启停规则,以及如何将处于同一命名空间的应用一键批量启停。
背景信息
借助Crontab表达式,可以定义更灵活的定时启停规则触发时间和循环规律。下表展示了一些使用Crontab表达式的案例:
含义 | 填写方法 | Crontab表达式 |
每周一至周五22:30 |
30分22时?日*月2,3,4,5,6 |
|
每个月第5日、第15日和第25日的0时 |
|
|
使用Crontab表达式时请遵循以下注意事项:
只能按日或周指定启停触发时间,如果指定了其中一个,另一个则必须填写通配符
?
,表示不加限制。例如,如果指定每个月第1日、第2日,则周必须填写?
。在Crontab表达式内必须使用英文半角字符,例如英文通配符星号(*)、问号(?)。
枚举值之间用英文半角逗号(,)分隔。
值的区间用短划线(-)表示,例如:日填写
1-5
,表示第1日~第5日。填写周时,1表示星期一,7表示星期日,即每周从周一到周日的数字为1~7。
准备工作
命名空间应用定时启停功能依赖运维编排服务OOS,请先创建OOSServiceRole RAM角色,并为该角色赋予管理SAE的完整权限AliyunSAEFullAccess。更多信息,请参见什么是系统运维管理。
如果您已经创建OOSServiceRole角色,则只需为其添加权限AliyunSAEFullAccess。
使用RAM管理员登录RAM控制台。
在左侧导航栏,选择 。
在角色页面,单击创建角色。
在创建角色页面,选择可信实体类型为阿里云服务,然后单击下一步。
在配置角色页签的角色类型区域选择普通服务角色,输入角色名称
OOSServiceRole
,从选择受信服务下拉列表中选择系统运维管理(OOS),并单击完成。在创建完成页签,单击为角色授权。
在添加权限面板的选择权限区域,选择系统策略,在文本框中输入
AliyunSAEFullAccess
并在下方的权限列表单击该权限,单击确定。单击完成。
管理定时启停规则
创建规则
登录SAE控制台。
在左侧导航栏,单击命名空间,在顶部菜单栏选择地域,然后在命名空间页面,单击目标命名空间名称。
在左侧导航栏,单击定时启停规则,然后在定时启停规则页面,单击创建定时启停规则。
在创建定时启停规则面板,配置相关信息,然后单击确定。
配置项
说明
规则名称
自定义的定时启停规则名称。
触发动作
批量启动应用:批量启动本命名空间下选中的应用。
批量停止应用:批量停止本命名空间下选中的应用。
执行频率
仅执行一次:在指定日期和时间执行一次后不再重复执行。
定期执行:按照指定的日期和时间循环执行,使用Crontab表达式定义执行时间,各字段的取值范围如下所示。
分(分钟):[0, 59]。
时(小时):[0, 23],
0
表示午夜0时。日(每个月的具体日期):[1, 31]。
月:[1, 12]或[JAN, DEC],不可修改。
周(星期):[1, 7]或[Mon, Sun]。
1
表示星期一,7
表示星期日。例如设置触发时间为星期二、四、六,则需输入2,4,6
或Tue,Thu,Sat
。
说明[1, 7]表示取值范围,如果您在星期字段中输入
1,7
则表示触发时间仅为星期一和星期日两天。
执行前通知配置
配置一个钉钉机器人Webhook地址,SAE将在每次开始执行定时任务前向此处指定的钉钉机器人发送通知,方便您第一时间获取系统运维动作信息。钉钉机器人的自定义关键词需要设置为
SAE
,具体操作,请参见获取钉钉机器人Webhook地址。触发的应用列表
启停全部应用:启动或停止目标命名空间内的所有应用。
启停部分应用:选中启停部分应用后,在下拉框中选择需要执行启停操作的应用类型,然后选中需要启停的目标应用名称旁的复选框。
说明如果选择了全部应用,SAE在每次执行定时启停任务之前,将自动扫描最新的应用列表,然后再执行启停操作。
规则创建成功后,可以在定时启停规则页面查看,您也可以针对已创建的规则进行停用、编辑和删除的操作。
说明应用类型只支持在创建规则时选择,一旦规则创建完成,编辑时不支持修改应用类型。
批量启停应用
本文以批量启停Web应用为例进行说明。批量启停微服务应用与批量启停Web应用的方法一致。
登录SAE控制台。
在左侧导航栏,选择
,然后在顶部菜单栏选择目标地域。在应用列表页面,选择目标命名空间,然后勾选目标应用名称左侧的复选框。
单击批量停止应用或批量启动应用。
说明微服务应用除了可以选择批量停止应用和批量启动应用之外,还可以选择为应用批量设置标签。