自動監控apache服務狀態並重啟的shell腳本
#!/bin/sh
curdate=`date +"%Y-%m-%d %H:%M:%S"`
#echo $curdate" exit " >> /home/opp/mon.log 2>&1 &
#exit
#statistik forum.php
num=`ps -ef|grep "/opp/apache/bin/httpd"|grep -v grep|wc -l`
#statistik www.123456.com/index.php
num2=`ps -ef|grep "/opt/lampp/bin/httpd" | grep -v grep |wc -l`
#echo $num;
#echo $curdate;
#num3=`netstat -anopt | grep 8080 | wc -l`
#echo $num3
if [ ${num} -lt 1 ] ;then
echo $curdate >> /home/opp/mon.log 2>&1 &
/opp/apache/bin/httpd -k start >> /home/opp/mon.log 2>&1 &
else
echo "apache/httpd is running "$curdate >> /home/opp/mon.log 2>&1 &
fi
if [ ${num} -gt 700 ] ;then
echo $curdate"this timestamp is index full" >> /home/opp/mon.log 2>&1 &
/opp/apache/bin/httpd -k stop
sleep 3
/opp/apache/bin/httpd -k start >> /home/opp/mon.log 2>&1 &
else
echo "apache/httpd is running "$curdate >> /home/opp/mon.log 2>&1 &
fi
if [ ${num2} -lt 2 ] ;then
echo $curdate >> /home/opp/mon.log 2>&1 &
killall -9 /opt/lampp/bin/httpd
/opt/lampp/lampp start >> /home/opp/mon.log 2>&1 &
else
echo "opt/httpd is running "$curdate >> /home/opp/mon.log 2>&1 &
fi
if [ ${num2} -gt 450 ] ;then
echo $curdate" this timestamp is for the forum's conection full" >> /home/opp/mon.log 2>&1 &
killall -9 /opt/lampp/bin/httpd
sleep 3
/opt/lampp/lampp start >> /home/opp/mon.log 2 >&1 &
else
echo "opt/httpd is running "$curdate >> /home/opp/mon.log 2>&1 &
fi
目的:1.監控apache服務器的狀態
2.當發現apache down機就自動重啟apache服務
3.重啟apache不成功,殺死該進程。並重新啟動
4.記錄日誌最後更新:2017-04-02 00:06:56