使用OOS自动删除7天前创建的快照

OOS简介
Operation Orchestration Service,简称OOS,是全面、免费的云上自动化运维平台,提供运维任务的管理和执行。典型使用场景包括:事件驱动运维,批量操作运维,定时运维任务,跨地域运维等,OOS为重要运维场景提供审批,通知等功能。OOS帮您实现标准化运维任务,从而实践运维即代码(Operations as Code)的先进理念。关于OOS更详细的介绍请参见什么是运维编排服务

场景介绍
基于OOS实现自动删除创建于7天前的快照。

操作步骤
1.登陆OOS控制台,找到我的模板,点击创建模板
使用OOS自动删除7天前创建的快照
2.选择空白模版
使用OOS自动删除7天前创建的快照

3.复制下文提供的模板到YAML栏中,输入模板名称(Delete-ExpiredSnapshot),点击创建模板
使用OOS自动删除7天前创建的快照

模板(Delete-ExpiredSnapshot)内容:

FormatVersion: OOS-2019-06-01
Description: ''
Parameters:
  regionId:
    Type: String
    Description:
      en: The id of region.
      zh-cn: 地域ID。
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  force:
    Description:
      en: Specifies whether to forcibly delete the snapshot that has been used to create disks.
      zh-cn: 是否强制删除有磁盘关联的快照。
    Type: Boolean
    Default: false
  expiredDays:
    Description:
      en: The expired days of snapshot.
      zh-cn: 快照过期天数。
    Type: Number
    Default: 7
  rateControl:
    Description:
      en: Concurrency ratio of task execution.
      zh-cn: 任务执行的并发比率。
    Type: Json
    AssociationProperty: RateControl
    Default:
      Mode: Concurrency
      MaxErrors: 100%
      Concurrency: 10
Tasks:
  - Name: describeSnapshots
    Action: 'ACS::ExecuteAPI'
    Description: ''
    Properties:
      Service: ECS
      API: DescribeSnapshots
      Parameters:
        RegionId: '{{ regionId }}'
        Filter2Key: CreationEndTime
        Filter2Value:
          'Fn::FormatUTCTime':
            - 'Fn::AddHour':
                - '{{ ACS::CurrentUTCTime }}'
                - "Fn::Eval":
                    - '-{{ expiredDays }}*24'
            - '%Y-%m-%dT00:00Z'
    Outputs:
      snapshotIds:
        Type: List
        ValueSelector: '.Snapshots.Snapshot[].SnapshotId'
  - Name: deleteSnapshots
    Action: 'ACS::ExecuteAPI'
    Description:
      en: Delete the expired snapshots.
      zh-cn: 删除过期快照。
    Properties:
      Service: ECS
      API: DeleteSnapshot
      Parameters:
        RegionId: '{{ regionId }}'
        SnapshotId: '{{ ACS::TaskLoopItem }}'
        Force: '{{ force }}'
    Loop:
      Items: '{{ describeSnapshots.snapshotIds }}'
      RateControl: '{{ rateControl }}'
Outputs:
  deletedSnapshotIds:
    Type: List
    Value: '{{ describeSnapshots.snapshotIds }}'

定时执行模版
1.找到定时运维,点击创建,选择周期性重复执行,设置定时执行的规则。
截图所示规则:截止规则结束时间,每天0点0分定时执行制指定模板
使用OOS自动删除7天前创建的快照

2.模板选择,选择上文创建的模板。参数设置,选择目标地域,点击确认风险并执行。
使用OOS自动删除7天前创建的快照

3.在执行详情页中可以查看定时执行列表和所操作的资源。
使用OOS自动删除7天前创建的快照

上一篇:linux shell编程之选择菜单


下一篇:Linux netcat对tcp/udp的连接和监听