腳本實現功能: 當MWM進程數量大於2並且佔用CPU時間超過100時發送郵件報警,腳本如下:
#!/usr/bin/ksh #---------------------------------------------------------------# # Script Name : MWM Check Shell # Version : 3 # Created by : Xin23 # on : 2015.02.04 # Updated by : Xin23 # on : 2015.02.15 # Updated by : Xin23 # on : 2015.02.25 #---------------------------------------------------------------# # Define Directory MWMCHECKDIR=/home/monitor/MWM_Check_Dir cd $MWMCHECKDIR # Define Mail Address List MAILLIST="[email protected]" HOSTNAME=$(hostname) # Define Mail Title SUBJECT="[$HOSTNAME] MWM Process Warning" # Define Mail Message MWMPROCESSNUM=$(ps -ef | grep mwm | grep -v grep | wc -l| awk '{print $1}') typeset -i MWM_CPU_TIME="$(ps -ef | grep mwm | grep -v grep | awk '{print $8}' | grep -Ev 'xinit|mwm' | cut -d ':' -f 1 | tr '\n' '+')0" GenerateMailMessage(){ cat <<EOF >> MAILMESSAGE Subject: $SUBJECT To: "$HOSTNAME Administrator" <[email protected]> From: "$HOSTNAME Crontab" <[email protected]> Reply-To: $MAILLIST Dear Customer : 服務器當前時間: $(date) MWM當前進程數爲[$MWMPROCESSNUM],佔用的CPU時間片爲[$MWM_CPU_TIME],請關注,具體如下: $(ps -ef | grep mwm | grep -v grep) 以上 EOF sendmail "$MAILLIST" < MAILMESSAGE rm -f MAILMESSAGE } # Main if [ "$MWMPROCESSNUM" -gt "2" ] && [ "$MWM_CPU_TIME" -gt "100" ] then GenerateMailMessage fi
效果圖如下:
THE END