开发者社区> 游客3ash5pnjeeq2i> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

基于OOS实现定时清理磁盘

简介: 当磁盘使用率超过指定阀值时,自动清理指定ECS实例的文件。
+关注继续查看

OOS简介

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

操作步骤

1.登陆OOS控制台,找到我的模板,点击创建模板
image.png
2.选择空白模版。
image.png
3.复制下文提供的模板到YAML栏中,输入模板名称(CleanUpDisks,点击创建模板
image.png
模板内容:

FormatVersion: OOS-2019-06-01
Description:
  en: Clean up disks.
  zh-cn: 定时清理磁盘。
  name-en: CleanUpDisks
  name-zh-cn: 清理磁盘
Parameters:
  regionId:
    Type: String
    Description:
      en: The id of region.
      zh-cn: 地域ID。
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  tagValues:
    Description:
      en: The value list of tag.
      zh-cn: 标签值列表。
    Type: List
  cleanUpInfos:
    Description:
      en: 'The infos of disk to clean up.Format: 3d|/root/log/|*.log,3h|/root/log/|*.access,30m|C:\Users\Administrator\log\|*.log.'
      zh-cn: 磁盘清理信息。格式:3d|/root/log/|*.log,3h|/root/log/|*.access,30m|C:\Users\Administrator\log\|*.log
    Type: String
  threshold:
    Description:
      en: The disk usage threshold.
      zh-cn: 磁盘使用率阈值。
    Type: Number
    MaxValue: 100
  rateControl:
    Description:
      en: Concurrency ratio of task execution.
      zh-cn: 任务执行的并发比率。
    Type: Json
    AssociationProperty: RateControl
    Default:
      Mode: Concurrency
      MaxErrors: 0
      Concurrency: 10
  OOSAssumeRole:
    Description:
      en: The RAM role to be assumed by OOS.
      zh-cn: OOS扮演的RAM角色。
    Type: String
    Default: OOSServiceRole
RamRole: '{{ OOSAssumeRole }}'
Tasks:
  - Name: getInstance
    Description:
      en: Views the ECS instances.
      zh-cn: 获取ECS实例。
    Action: 'ACS::ExecuteApi'
    Properties:
      Service: ECS
      API: DescribeInstances
      Parameters:
        RegionId: '{{ regionId }}'
        Tags:
          - Key: appgroup
            Value: "{{ ACS::TaskLoopItem }}"
    Loop:
      RateControl: '{{ rateControl }}'
      Items: '{{ tagValues }}'
      Outputs:
        instanceIds:
          AggregateType: Fn::ListJoin
          AggregateField: instanceId
    Outputs:
      instanceId:
        Type: List
        ValueSelector: 'Instances.Instance[].InstanceId'
  - Name: cleanUpDisk
    Action: 'ACS::ECS::CleanUpDisk'
    Description:
      en: Execute cloud assistant command to clean up disk.
      zh-cn: 执行云助手命令清理磁盘。
    Properties:
      regionId: '{{ regionId }}'
      instanceId: '{{ ACS::TaskLoopItem }}'
      threshold: '{{ threshold }}'
      cleanUpInfos: '{{ cleanUpInfos }}'
    Loop:
      RateControl: '{{ rateControl }}'
      Items:
        'Fn::Jq':

          - First
          - '[.[][]]'
          - '{{ getInstance.instanceIds }}'

执行模板

1.找到CleanUpDisks,点击创建执行,点击下一步:设置参数

image.png

2.根据提示设置参数,点击下一步:确定

image.png
参数解释:

  • regionId: 地域。
  • tagValues: 标签值,List类型,每行表示不同的值。TagKey已固定为:appgroup。
  • cleanUpInfos: 磁盘清理信息,3d|/root/log/|.log表示:删除/root/log/匹配.log的修改于3天前的所有文件,可输入过个清理规则,各个规则间用","隔开。
  • threshold: 磁盘使用率阀值,磁盘使用率超过阀值后会清理磁盘。
  • rateControl: 任务执行并发速率,使用默认值即可。

3.确认参数无误后,点击创建。执行完成后,可以在执行详情查看执行结果。

image.png

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
一、Linux(CentOS7)系统磁盘分区及挂载
新购买的阿里云服务器,默认硬盘容量肯定不够用,需要额外购买硬盘,购买后需要对硬盘进行分区及挂载操作,下面是硬盘分区及挂载操作步骤: 1、查看未挂载的硬盘(名称为/dev/vdb), 执行命令 fdisk -l : fdisk -l Disk /dev/vdb doesn't contain a valid partition table 2、执行创建分区命令 fdisk /dev/vdb:
110 0
自然语言处理seq2seq模型实现人工智能对对联(基于TensorFlow框架)
自然语言处理seq2seq模型实现人工智能对对联(基于TensorFlow框架)
52 0
C#实现定时器的几种方案
前几天写了一篇java的定时器方案,应小伙伴的要求,今天这里一下c#实现定时器的方案。 在C#里关于定时器类就有三个 1、System.Windows.Forms.Timer 2、System.Threading.Timer 3、定义在System.Timers.Timer 下面对这三个类进行讲解。
2169 0
sun.misc.BASE64Decoder导入异常及处理思路
Java后台保存base64图片数据 使用byte[] bytes = new BASE64Decoder().decodeBuffer(str);需要引入sun.misc.BASE64Decoder,但在eclipse中提示如下警告:     查阅后在一篇文章中提到: “一直以来Base64的加密解密都是使用sun.misc包下的BASE64Encoder及BASE64Decoder的sun.misc.BASE64Encoder/BASE64Decoder类。
1293 0
使用shell批量监控磁盘坏块(二)
之前分享了第一篇 使用shell批量监控磁盘坏块(一),今天来简单说说这个需求的实现内容 。 首先主要思路是通过中控的机器来发送监控的细节,然后返回结果。 首先就是我们需要有一个服务器列表,里面会有这些需要的元数据信息。
1122 0
Centos7.4 搭建rsync+inotify 实现数据同步
简介 起因 因公司全部迁云,配置ECS时需要将Web集群之间配置 数据同步 以及 会话保持,接下来配置在 linux Centos7.4版本的系统操作。 优点 使用rsync工具和inotify机制相结合,可以实现触发式部署(实时同步),只要原始(主)位置的文档发生变幻,则立即启用增量推送操作,否则处于静态等待状态,这样以来,就避免了分布式集群部署过程复杂的问题。
1604 0
Centos7.4 搭建rsync+inotify 实现数据同步
简介 起因 因公司全部迁云,配置ECS时需要将Web集群之间配置 数据同步 以及 会话保持,接下来配置在 linux Centos7.4版本的系统操作。 优点 使用rsync工具和inotify机制相结合,可以实现触发式部署(实时同步),只要原始(主)位置的文档发生变幻,则立即启用增量推送操作,否则处于静态等待状态,这样以来,就避免了分布式集群部署过程复杂的问题。
1079 0
1276
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载