简单linux shell脚本监控磁盘使用情况,发送邮件告警
首先第一步我们要明确我们目的:
编写个脚本监控这个根目录,
使用空间达到max_num%就告警发送邮件
话不多说,直接上图:
是不是一眼看过去就能发现我想表达的东西?
grep,awk过滤掉不需要的东西,只剩下%前面的数
df -h |grep /dev/sda|awk -F’[ %]+’ '{print $5}'
然后直接比大小。
不废话直接上代码吧:
我这里为了验证脚本,所以设置了变量max_num=0
#!/bin/bash
#邮箱自己定义
Mailuser=邮箱@.com
#你想要达到的阈值
max_num=0
#过滤啊啥的
fdisk_use=`df -h |grep /dev/sdb|awk -F'[ %]+' '{print $5}'`
#比较阈值和磁盘使用的大小
if [ "$fdisk_use" -ge "$max_num" ]
then
echo "磁盘的使用超过"$max_num",请快速处理" | mail -s "请快速清理磁盘空间" $Mailuser
else
echo "ok"
fi
是不是很简单啊,平常的工作运维中,一般都会设置脚本定时运行:
#需要安装服务才能用,自己百度去
crontab -e
crontab 格式 * * * * * XXX
`分 时 天 月` 星期 命令
分钟 (0-59)
小時(0-23)
日期(1-31)
月份(1-12)
星期(0-6) //0代表星期天
有时候需要重启服务才会开始生效定时的
service crond restart
//重启服务
好了今天的分享就到这了