ecs-centos分区空间大于70时发送钉钉告警并清理

简介: 当分区空间大于70时,开始清理并发送钉钉告警。

本文目的:当分区空间大于70%时,通过自定义的清理命令进行清理日志等缓存文件。

一:脚本展示

#!/bin/bash
#scriptName: clearlog_grant70.sh
#doing:* * * * *  cd /opt/yunwei/script/  && /bin/bash  clearlog_grant70.sh 

value=70
nodename=`hostname`
nodeip=`hostname -i`
time=`date '+%Y-%m-%d-%H:%M:%S'`
scriptname=$0
echo $scriptname


#定义清理函数
clearLogFunc(){
#start clear logs ...
##system
cd /var/log/ && ls |grep messages  | xargs  truncate -s 0k
cd /var/log/journal  &&  find ./* -mmin +10 |grep journal  | xargs  truncate -s 0k
docker images |grep none |awk "{print $3}" |xargs docker rmi
docker container prune -f
docker image prune -f
docker volume prune -f
##project
cd /usr/local/nginx/logs/ && find . -type f -size +1000M |grep log | xargs  truncate -s 0k
cd  /var/log/supervisor  &&   find ./* -mmin +30 |grep log  | xargs  truncate -s 0k
}



#钉钉发送告警函数 start ...
dingSendFunc(){
  echo $1 $2 $3 $4 $5 $6
  url="https://oapi.dingtalk.com/robot/send?access_token=xx"
  curl $url \
   -H 'Content-Type: application/json' \
   -d '{
     "msgtype": "markdown",
     "markdown":
    {"title":"ECS服务器监控告警",
    "text":"![screenshot](https://images.cnblogs.com/cnblogs_com/blogs/718800/galleries/2294157/o_230330085502_1.png) \n  
**报警时间**: <font color=\"#0000FF\">'${1}' '${times}'</font>\n
**监控ip**: <font color=\"#0000FF\">'${2}-${3}'  </font>\n
**磁盘空间使用率:** <font color=\"#FF0000\">'${4}%-${5}' </font> \n
> 来自脚本的监控--'${6}'
"
         },
   }'
}
#钉钉发送告警函数 end .





for i in `  df -h  |grep -v Filesystem |awk '{print $5}'`;do 
  echo  $i 
  a=`echo $i | sed 's/%//g' `
  echo "new key is $a" 
  if [ $a -gt  $value ];then
    echo  "$a >= $value, i will del logs ..."
    b=`df -h |grep $i  |awk '{print $NF}'`
    dingSendFunc $time  $nodename  $nodeip $a $b $scriptname
    clearLogFunc
  else
    echo " $a <=  $value"
  fi 
done

二:添加计划任务

#磁盘空间大于70%时清理日志
* * * * *   /bin/bash -x  /opt/yunwei/script/clearlog_grant70.sh

三:钉钉通知
image.png

完!

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
存储 Linux Docker
centos系统清理docker日志文件
通过以上方法,可以有效清理和管理CentOS系统中的Docker日志文件,防止日志文件占用过多磁盘空间。选择合适的方法取决于具体的应用场景和需求,可以结合手动清理、logrotate和调整日志驱动等多种方式,确保系统的高效运行。
109 2
|
1月前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
861 2
|
2月前
|
缓存 关系型数据库 MySQL
服务器磁盘爆满?别慌,教你轻松清理!
服务器磁盘空间告急?别慌!本文将教你如何快速识别并清理占用大量磁盘空间的文件和目录,优化日志文件,释放磁盘空间,恢复系统正常运行。适合服务器管理员和网站运营者。
202 0
 服务器磁盘爆满?别慌,教你轻松清理!
|
2月前
|
前端开发 开发工具 git
如何清理 docker 磁盘空间+修改 Gitea 服务器的 Webhook 设置+前端一些好学好用的代码规范-git hook+husky + commitlint
如何清理 docker 磁盘空间+修改 Gitea 服务器的 Webhook 设置+前端一些好学好用的代码规范-git hook+husky + commitlint
42 5
|
3月前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
215 5
|
2月前
|
存储 Oracle 关系型数据库
服务器数据恢复—V7000存储NTFS文件系统分区数据恢复案例
服务器存储数据恢复环境: 一台挂载在Windows server服务器上的v7000存储。存储空间划分了一个分区,采用NTFS文件系统,存放oracle数据库。 服务器存储故障: 服务器在运行过程中宕机,于是管理员重启服务器。服务器进入系统自动进行磁盘扫描修复时,管理员强制关机并断开了存储和服务器之间的连接,导致这台存储上的文件系统损坏,报错“文件或目录损坏且无法读取”。
|
3月前
|
存储 弹性计算
阿里云服务器系统盘存储空间不够用怎么办?
当阿里云服务器系统盘空间不足时,您可以通过系统盘扩容或挂载数据盘解决。系统盘扩容无需重启服务器,详细步骤见系统盘扩容教程。挂载数据盘需预先购买,并确保与服务器位于同一地域和可用区,最多可挂载64块,详情见挂载数据盘教程
727 6
|
4月前
|
弹性计算 Windows
震惊!ECS Windows 系统磁盘竟“撒谎”,空间去哪儿了?别急,这里有终极破解法!
【8月更文挑战第15天】在使用ECS Windows系统时,可能会遇到磁盘显示占用的空间远超实际文件大小的情况,导致空间不足。原因包括系统还原点、卷影副本累积及回收站文件未彻底删除等。解决方法有:清除系统还原点(`vssadmin delete shadows /all`),清空回收站,删除临时文件夹中的文件,以及检查并修复磁盘错误。这些步骤能有效释放空间,保证系统稳定运行。
93 4
|
5月前
|
存储 数据挖掘 Linux
服务器数据恢复—服务器重装系统导致原分区丢失的数据恢复案例
服务器数据恢复环境&故障: 磁盘柜中有一组通过RAID卡创建的RAID5阵列,分配一个LUN,服务器上层安装Linux操作系统。操作系统层面划分sdc1和sdc2两个分区。通过LVM扩容的方式将sdc1分区加入到了root_lv中;sdc2分区格式化为XFS文件系统。 服务器重装操作系统后,磁盘分区改变,sdc2分区丢失,无法访问。
服务器数据恢复—服务器重装系统导致原分区丢失的数据恢复案例
|
5月前
|
弹性计算 运维 监控
可观测性体系问题之实现告警的自愈如何解决
可观测性体系问题之实现告警的自愈如何解决
52 1