监控CPU、磁盘、内存使用情况,并报警
#!/bin/bash #获取cpu使用率 cpuUsage=`top -n 1 | awk -F '[ %]+' 'NR==3 {print $2}'` #获取磁盘使用率 data_name="/dev/sda1" diskUsage=`df -h | grep $data_name | awk -F '[ %]+' '{print $5}'` logFile=/apps/service/wy/jiankong.log #获取内存情况 mem_total=`free -m | awk -F '[ :]+' 'NR==2{print $2}'` mem_used=`free -m | awk -F '[ :]+' 'NR==2{print $3}'` #统计内存使用率 mem_used_persent=`awk 'BEGIN{printf "%.0f\n",('$mem_used'/'$mem_total')*100}'` #获取报警时间 now_time=`date '+%F %T'` function send_mail(){ mail -s "监控报警" 1183211046@qq.com < /apps/service/wy/jiankong.log } function check(){ if [[ "$cpuUsage" > 80 ]] || [[ "$diskUsage" > 80 ]] || [[ "$mem_used_persent" > 80 ]];then echo "报警时间:$now_time" > $logFile echo -e "CPU使用率:$cpuUsage% \n磁盘使用率:$diskUsage% \n内存使用率:$mem_used_persent%" >> $logFile send_mail fi } function main(){ check } main