環境: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分檢查一次