提取根分區磁盤占用率
阿新 • • 發佈:2017-11-07
bash 信息保存 mon bst 成功 txt tar $1 -c
需求:
1、編寫sysmon.sh腳本
(1)使用df命令提取出根分區的磁盤占用率,賦值給變量DUG。
(2)使用mpstat命令提取CPU使用率(需安裝sysstat軟件包),賦值給變量CUG。
(3)使用free命令提取出內存使用率,賦值給變量MUG。
(4)判斷上述監控項目是否超標,將需要告警的信息保存到/tmp/alert.txt文件。
(5)判斷/tmp/alert.txt文件是否存在,若存在則作為告警郵件發送。
參考腳本:
#!/bin/bash #腳本練習1 #第一步、使用df命令提取出根分區的磁盤占用率,賦值給變量DUG DUG=`df -h |awk ‘NR==2{print}‘|awk‘{print $5}‘|awk -F ‘%‘ ‘{print $1}‘` #第二步、使用mpstat命令提取CPU使用率(需安裝sysstat軟件包),賦值給變量CUG #(1)安裝sysstat yum install wget make gcc gcc-c++ glibc libstdc++-devel mailx -y wget http://pagesperso-orange.fr/sebastien.godard/sysstat-11.0.0.tar.gz tar -xvf sysstat-11.0.0.tar.gz cd sysstat-11.0.0/ ./configure make make installmpstat -V #判斷sysstat軟件是否安裝成功 if [ $? = 0 ];then echo "恭喜你sysstat 軟件安裝成功!" else exit fi #(2)提取CPU使用率 CUG=`mpstat|grep ‘all‘|awk ‘{print $3}‘` #第三步、使用free命令提取出內存使用率,賦值給變量MUG MUG=`free -m|grep ‘Mem‘|awk ‘{print $3}‘` #第四步、判斷上述監控項目是否超標,將需要告警的信息保存到/tmp/alert.txt文件 #1.定義閾值 if [ $DUG > 80 ];then echo "at `date`磁盤占用率已經達到${DUG}%,請及時清理" > /tmp/alert.txt elif [ $CUG > 50 ];then echo "at `date`CPU使用率達到${DUG}%,請及時查看" >> /tmp/alert.txt #第五步、判斷/tmp/alert.txt文件是否存在,若存在則作為告警郵件發送 if [ -e ‘/tmp/alert.txt‘ ];then mail -s ‘系統問題‘ 1557034472@qq.com < /tmp/alert.txt echo ‘‘ >/tmp/alert.txt #清空告警文件 fi
提取根分區磁盤占用率