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

完!

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
相关文章
|
1天前
|
存储 监控 Linux
在 CentOS 7 中进行磁盘分区和挂载的具体操作步骤,如何使用 `fdisk` 创建分区、格式化分区、创建挂载点以及临时和永久挂载分区的方法。
本文介绍了在 CentOS 7 中进行磁盘分区和挂载的具体操作步骤。通过一个实际案例,详细说明了如何使用 `fdisk` 创建分区、格式化分区、创建挂载点以及临时和永久挂载分区的方法。此外,还分享了一些实践经验,帮助读者更好地管理和优化服务器磁盘空间。
15 4
|
5天前
|
存储 监控 Linux
在 CentOS 7 中如何对未分配的大容量硬盘进行分区和挂载。通过具体案例,详细说明了使用 `fdisk` 创建分区、格式化分区、创建挂载点以及临时和永久挂载分区的步骤
本文介绍了在 CentOS 7 中如何对未分配的大容量硬盘进行分区和挂载。通过具体案例,详细说明了使用 `fdisk` 创建分区、格式化分区、创建挂载点以及临时和永久挂载分区的步骤。此外,还分享了一些实践经验,帮助读者更好地管理和优化磁盘空间。
25 8
|
2天前
|
存储 监控 Linux
如何在 CentOS 7 中进行磁盘分区和挂载,包括准备工作、创建分区、格式化分区、创建挂载点、挂载分区及实践经验分享
随着业务扩展和技术进步,服务器硬盘容量需求不断增加。本文通过具体案例介绍如何在 CentOS 7 中进行磁盘分区和挂载,包括准备工作、创建分区、格式化分区、创建挂载点、挂载分区及实践经验分享,帮助读者更好地管理和利用磁盘空间。
16 3
|
5天前
|
存储 监控 Linux
以 CentOS 7 为例,详细介绍了如何对未使用的硬盘进行分区、格式化和挂载的最佳实践
随着业务发展和技术进步,有效管理服务器磁盘空间变得至关重要。本文以 CentOS 7 为例,详细介绍了如何对未使用的硬盘进行分区、格式化和挂载的最佳实践。通过合理规划分区和设置挂载点,可以充分利用磁盘资源,提高系统的稳定性和可维护性。具体步骤包括确认硬盘、创建分区、格式化分区、创建挂载点、临时和永久挂载分区,以及最佳实践建议。
16 3
|
5天前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
95 1
|
16天前
|
缓存 关系型数据库 MySQL
服务器磁盘爆满?别慌,教你轻松清理!
服务器磁盘空间告急?别慌!本文将教你如何快速识别并清理占用大量磁盘空间的文件和目录,优化日志文件,释放磁盘空间,恢复系统正常运行。适合服务器管理员和网站运营者。
48 0
 服务器磁盘爆满?别慌,教你轻松清理!
|
21天前
|
存储 监控 Linux
在 CentOS 7 中如何对新硬盘进行分区、格式化、挂载及配置最佳实践
本文详细介绍了在 CentOS 7 中如何对新硬盘进行分区、格式化、挂载及配置最佳实践,包括使用 `fdisk` 创建分区、`mkfs` 格式化分区、创建挂载点、编辑 `/etc/fstab` 实现永久挂载等步骤,旨在有效管理服务器磁盘空间,提高系统稳定性和可维护性。
24 1
|
22天前
|
存储 监控 Linux
在 CentOS 7 中如何对一块 1TB 的未分配硬盘进行分区
【10月更文挑战第8天】本文介绍了在 CentOS 7 中进行磁盘分区和挂载的具体操作步骤,包括准备工作、创建分区、格式化分区、创建挂载点、临时和永久挂载分区等环节。通过一个具体案例,详细说明了如何对一块 1TB 的未分配硬盘进行分区,并将其挂载到不同的目录下,以满足不同服务的需求。同时,文章还分享了一些实践经验,帮助读者更好地理解和掌握这些技能。
26 1
|
22天前
|
存储 监控 Linux
在 CentOS 7 上如何对未使用的硬盘进行分区、格式化和挂载的最佳实践,包括准备工作、创建分区、格式化分区、创建挂载点、挂载分区及最佳实践建议
【10月更文挑战第8天】本文详细介绍了在 CentOS 7 上如何对未使用的硬盘进行分区、格式化和挂载的最佳实践,包括准备工作、创建分区、格式化分区、创建挂载点、挂载分区及最佳实践建议,旨在有效管理和利用服务器磁盘资源,提升系统稳定性和可维护性。
40 1
|
30天前
|
前端开发 开发工具 git
如何清理 docker 磁盘空间+修改 Gitea 服务器的 Webhook 设置+前端一些好学好用的代码规范-git hook+husky + commitlint
如何清理 docker 磁盘空间+修改 Gitea 服务器的 Webhook 设置+前端一些好学好用的代码规范-git hook+husky + commitlint
29 5