linux监控系统进程shell
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
linux监控系统进程,并邮件通知管理员shell。
说明:本shell是对服务器可以访问外网环境下使用的。经测试可以使用。仅供参考,实际使用时,还需要依照实际系统环境进行测试。
功能:shell实现对单个服务器上,多个监控条件进行监控,并通过邮件发送到指定邮箱。举例监控进程有(两个tomcat 进程、系统硬盘空间大小预警值为85%)
#!/bin/sh
######shell for Send mail #####
export LANG=zh_CN.utf8
###### Var value #####
WorkDir=/home /shellapp/maildir
TmpmailText=mailtmp.tmp
SendMailLog=$WorkDir/SendMailLog.log
#######mail file var ######
MailHead=$WorkDir/MailTemplate1.txt
MailList=$WorkDir/maillist.txt
MailContent=$WorkDir/mailcontent.txt
counter1=0
counter2=0
###########free space var#############
Per_num=85
Get_num=`df -k |grep '/home' |awk '{print $4} '|sed 's/\%//'`
###########DATE var#############
THISDATE=`date +%Y%m%d`
THISDAYTIME=`date +%Y%m%d-%R`
########第一个tomcat Check ######
ifps -ef | grep tomcat | grep -v grep
then
echo "ok"
else
echo $THISDATETIME " Recv service is down" >>$MailContent counter2=$[ $counter2+1 ]
fi
####### 第二个tomcat Check ######
ifps -ef | grep tomcat-7.0.22 | grep -v grep
then
echo "ok"
else
echo $THISDATETIME " web service is down" >>$MailContent counter2=$[ $counter2+1 ]
fi
######Free space Check #####
if [ $Get_num -ge 85 ]
then
echo $THISDATETIME":The Used space is "$Get_num"%,Need release the space" >>$MailContent
counter2=$[ $counter2+1 ]
fi
######Send Mail#########
cd $WorkDir
cat MailTemplate1.txt >>mailtmp.tmp
cat $MailContent>>mailtmp.tmp
if [ $counter2 -ge 1 ]
then
while read LINE
do
address=$LINE
catmailtmp.tmp |sendmail $address
counter1=$[ $counter1+1 ]
done< $MailList
echo $THISDAYTIME" Have send "$counter1" mails to Administrator " >> $SendMailLog
fi
echo '' >mailtmp.tmp
echo '' > $MailContent
exit 0;
shell保存后。要配置两个文件。放在WorkDir目录下。
文件一接收邮件列表MailTemplate1.txt
内容举例:
Dear,Administrator
From : Server
To: All Administrator
Subject: Server warnning
文件二接收邮件列表maillist.txt
111@
222@
333@