linux检测磁盘空间脚本
环境:centos7
1、先获取磁盘空间大小
[root@demod ~]#df -h|grep sda1|awk '{print $5}'|awk -F \% '{print $1}'
14
2、将值赋予给一个变量进行值判断,发送信息
#!/bin/bash source /etc/profile #做成定时任务依赖一些环境变量,先执行一下 g=`df -h|grep sda1|awk '{print $5}'|awk -F \% '{print $1}'` #获取磁盘空间使用数量 if ((g > 20)); #与指定标准进行比对这儿配置的是20 ,可以自己定表准 then a_phon=("18381008111" "18524515151") #定义数组内部为发送短信的电话号码 for element in ${a_phon[@]} #获取值 do curl -X POST 'http://ip/dxts' -d "phone=$element&contentent='xx服务器磁盘空间超标了'" #通过短信api接口发送信息给相关人员 done else echo 'good' #没有超标就直接执行这句 fi
3、邮件方式
#!/bin/bash source /etc/profile >/dev/null for i in {2..6} do ssh root@192.168.1.$i 'df -h /' > /tmp/full s=`cat /tmp/full|grep /|awk '{print $5}'|awk -F \% '{print $1}'` echo $i-$s if ((s > 80)); then a_name=("mail@qq.com" ) for element in ${a_name[@]} do echo $i的磁盘空间达到$s|mail -v -s "磁盘根目录空间告警" $element done else echo "$i成功" fi done
4、配置定时任务
1 9 * * * /tmp/tj.sh #每天9点1分检查一次
做一个决定,并不难,难的是付诸行动,并且坚持到底。