#!/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