shell脚本实战-实现磁盘使用率超过90%就告警的三种方法v1版
需求
时刻监控磁盘使用率,达到90%就开始告警。
告警可以使用:
- 邮件告警
- 钉钉告警
- 微信告警
今天我们先来看最简单的V1的版本,实现简单需求,后面再增加功能
方法一:
awk 嵌套if循环
df -h|awk 'NR>1{if(int($5)>80){print $1" (mounted on "$6") used "$5" will not enough space!^m^"}else{print $1" (mounted on "$6") used "$5" is ok"}}
awk这种方法,难度适中,本身AWK就作为一种变成语言存在,所以相对学起来比较难。
一条命令搞定的方法,难倒一大片小伙伴。
我们尽可能使用更清晰的方法来搞定。
方法二
最普遍的写法:
[root@UIS-cloud1 ~]# cat dftest.sh
#!/bin/bash
fnume=(`df -h |wc -l`-1)
for ((i=1;i<=fnume;i++))doif [ `df -h |awk 'NR>1{print int($5)}' |head -$i|tail -1` -gt 80 ];thenecho "`df -h |awk 'NR>1{print $1" (mounted on "$6") used "$5" will not enough space!^m^"}' |head -$i|tail -1`"elseecho "`df -h |awk 'NR>1{print $1" (mounted on "$6") used "$5" is ok"}' |head -$i|tail -1`"fidone
方法二要比方法一更容易理解,不习惯读长代码的小伙伴会觉得比较难。
你可以把方法二在拆分一下。 当然对于初学的小伙伴,还是建议如下的方法三:
方法三:
更简单的方法:
[root@itlaoxin41 ~]# cat df.sh
#!/bin/bash
## 先判断文件是否存在
if [ -f df.txt ];then
`cat /dev/null > df.txt`
fi
num=`df -h |awk '{print int($5)}'`
`df -h |awk '{print $1,int($5)}' |grep -v "文件系统" >>df.txt`
## 打印磁盘名称和磁盘使用率
for i in $num
do
if [ $i -gt 80 ];then
disk=`grep $i df.txt |awk '{print $1}'`
echo "$disk is not ok"fidone
方法三就比较容易了, 先判断df.txt是否存在,如果存在就清空,如果不存在在下面的脚本执行过程中,也会自己创建。
通过df -h 截取两方面的内容,一部分是磁盘名称,另一部分是磁盘使用率
后面可以为这个脚本增加邮件功能。
总结
一个脚本使用多种方法解决,可以很好的锻炼脚本能力。
另外在这个脚本的基础上,不断的加需求,直到成为一个最完美的脚本。
更多内容
没有基础的小伙伴可以参加视频课程:
https://edu.csdn.net/course/detail/38185
这套课程从零基础开始讲起,让你系统的掌握shell脚本的基础语法, 每个项目都值得深入去研究。
shell脚本实战-实现磁盘使用率超过90%就告警的三种方法v1版相关推荐
- java启动脚本指定jdk_使用指定的JDK启动IDEA的三种方法
IDEA 64 位 版本对 JDK 版本有要求,不符合的 JDK 将无法启动. 很简单的一个问题,如何使用指定的 JDK 启动 IDEA? 上面这个问题很简单 但是在特殊环境下可能不太容易. 一.方法 ...
- 【ROS仿真实战】获取机器人在gazebo位置真值的三种方法(三)
文章目录 前言 一. 使用ROS tf库 二. 使用Gazebo Model Plugin 三. 使用libgazebo_ros_p3d插件 四.总结 前言 在ROS和Gazebo中,获取机器人的位置 ...
- Linux下Shell脚本实战之监测磁盘空间
Linux下Shell脚本实战之监测磁盘空间 一.脚本目的及要求 二.脚本内容 三.运行脚本 一.脚本目的及要求 (1) 监控/home下每各个用户目录的占用磁盘大小 (2) 监控/var/log下前 ...
- linux脚本对磁盘分区,shell 脚本实战笔记(4)--linux磁盘分区重新挂载
背景: Hadoop的HDFS文件系统的挂载, 默认指定的文件目录是/mnt/disk{N}. 当运维人员, 不小心把磁盘挂载于其他目录, 比如/mnt/data, /mnt/disk01, /mnt ...
- linux磁盘使用情况脚本,技术|用 Linux Shell 脚本来监控磁盘使用情况并发送邮件...
市场上有很多用来监控 Linux 系统的监控工具,当系统到达阀值后它将发送一封邮件.它监控所有的东西例如 CPU 利用率.内存利用率.交换空间利用率.磁盘空间利用率等等.然而,它更适合小环境和大环境. ...
- 循序渐进学运维-shell脚本实战专栏
我是互联网老辛,关注我吧,给自己每天的进步找一个机会和理由,不要被无效信息淹没,免除知识焦虑 前言 shell脚本大家要做为重点来学习,shell写的好,可以不学Python,一样拿高薪: shell ...
- Liunx下的日志清理shell脚本实战之日志备份
Liunx下的日志清理shell脚本实战 一.脚本实现功能以及要求 二.shell脚本内容 一.脚本实现功能以及要求 二.shell脚本内容 一.脚本实现功能以及要求 1.日志备份目录,将日志备份到/ ...
- shell 脚本实战 三
摘自 shell脚本实战 第二版 第二章 改进用户命令 脚本14 格式化过长的行 要是够幸运的话,你所用的 Unix 系统中已经包含了 fmt 命令,如果你日常从事文本工作, 那么这个命令非常有用.不 ...
- linux 循环 cpu使用率脚本,监控CPU使用率的三种方法(shell脚本)
监控CPU使用率的三种方法(shell脚本),供大家学习参考. 方法一: 复制代码 代码如下: #!/bin/sh #监控CPU使用率 #Written by Chameleon #Http://ch ...
最新文章
- 机器学习笔记06—术语解释
- nginx error_log 错误日志配置说明
- php配置默认index.php,Apache的vhost中配置默认访问入口index-test.php的方法(Yii)
- latex文档基础知识
- mac地址扫描源码_愤怒的IP扫描仪 一种快速的网络扫描工具
- jsf表单验证_JSF:在正确的阶段进行验证(了解生命周期)
- 有人利用两个SaltStack 漏洞攻击思科 VIRL-PE 基础设施
- true是不是python保留字_Python基本语法--关键字和保留字篇
- java字符拼成_Java字符拼成图片(image-ASCII)(非原创)
- tomcat 是什么
- 唐门暗器之私有云排名
- uc收藏导入html,uc浏览器的收藏网址如何导出方法
- C程序设计语言思维导图
- CodeForces - 1312E Array Shrinking
- springboot结合注解动态获取数据库表
- 海康摄像机如何用第三方域名/外网固定IP方式远程观看?--官方文档记录
- sqoop的java操作,总结归纳,含代码
- repeater控件 php,asp.net Repeater控件的说明及详细介绍及使用方法
- 2021年4月26日 星期一 三月十五 阴
- 假阳率(第一类错误)、假阴率,召回率、精确率