创建定时启停规则

为了节省成本,您可以为应用设置定时启停规则。处于停止状态的应用不产生计算资源的费用。

  • 如果需要手动批量启停应用,请参考对应用进行批量操作

  • 如果需要定时批量启停应用,请参考本文。

1. 为OOS赋予SAE完整权限

应用定时启停功能依赖系统运维管理OOS,请先创建OOSServiceRole RAM角色,并为该角色赋予管理SAE的完整权限AliyunSAEFullAccess。

  1. 使用RAM管理员登录RAM控制台

  2. 在左侧导航栏,选择身份管理 > 角色

  3. 角色页面,单击创建角色

    image

  4. 创建角色页面,选择信任主体类型云服务,然后在信任主体名称中搜索OOS并选择系统运维管理,单击确定

    image

  5. 在弹出的对话框中,输入角色名称OOSServiceRole。在权限管理页签,单击新增授权,在权限策略区域,搜索AliyunSAEFullAccess并选中该权限,单击确认新增授权

2. 管理定时启停规则

  1. 登录SAE控制台

  2. 在左侧导航栏,单击命名空间,在顶部菜单栏选择地域,然后在命名空间页面,单击目标命名空间名称。

  3. 在左侧导航栏,单击定时启停规则,然后在定时启停规则页面,单击创建定时启停规则

  4. 创建定时启停规则面板,配置相关信息,然后单击确定

    配置项

    说明

    规则名称

    自定义的定时启停规则名称。

    触发动作

    • 批量启动应用:批量启动本命名空间下选中的应用。

    • 批量停止应用:批量停止本命名空间下选中的应用。

    执行频率

    • 仅执行一次:在指定日期和时间执行一次后不再重复执行。

    • 定期执行:按照指定的日期和时间循环执行,使用Crontab表达式定义执行时间,各字段的取值范围如下所示

      • 分(分钟):[0, 59]。

      • 时(小时):[0, 23],0表示午夜0时。

      • 日(每个月的具体日期):[1, 31]。

      • 月:[1, 12]或[JAN, DEC],不可修改。

      • 周(星期):[1, 7]或[Sun, Sat]。1表示星期日,7表示星期六。例如设置触发时间为星期二、四、六,则需输入3,5,7Tue,Thu,Sat

      说明

      [1, 7]表示取值范围,如果您在星期字段中输入1,7则表示触发时间仅为星期日和星期六两天。

    执行前通知配置

    配置一个钉钉机器人Webhook地址,SAE将在每次开始执行定时任务前向此处指定的钉钉机器人发送通知,方便您第一时间获取系统运维动作信息。钉钉机器人的自定义关键词需要设置为SAE,具体操作,请参见获取钉钉机器人Webhook地址

    触发的应用列表

    • 启停全部应用:启动或停止目标命名空间内的所有应用。在每次执行定时启停任务之前,将自动扫描最新的应用列表,然后再执行启停操作。

    • 启停部分应用:选中启停部分应用后,在下拉框中选择需要执行启停操作的应用类型,然后选中需要启停的目标应用名称旁的复选框。

    规则创建成功后,可以在定时启停规则页面查看,您也可以针对已创建的规则进行停用编辑删除的操作。

如何编写Crontab表达式

借助Crontab表达式,可以定义更灵活的定时启停规则、触发时间和循环规律。下表展示了一些使用Crontab表达式的案例:

含义

填写方法

Crontab表达式

每周一至周五22:30

3022?*2,3,4,5,6

30 22 ? * 2,3,4,5,6

每个月第5日、第15日和第25日的0

005,15,25*?

0 0 5,15,25 * ?

使用Crontab表达式时请遵循以下注意事项:

  • 只能按日或周指定启停触发时间,如果指定了其中一个,另一个则必须填写通配符?,表示不加限制。例如,如果指定每个月第1日、第2日,则周必须填写?

  • Crontab表达式内必须使用英文半角字符,例如英文通配符星号(*)、问号(?)。

  • 枚举值之间用英文半角逗号(,)分隔。

  • 值的区间用短划线(-)表示,例如:日填写1-5,表示第1日~第5日。

  • 填写周时,1表示星期日,2表示星期一,以此类推,7表示星期六,例如:每周从星期一到星期五的数字为2~6。