WEB服务服务健康状态检测


#!/bin/sh
#date:2015-12-07
#filename:check_web.sh
#作者:lixingli
#Email:[email protected]
#version:v1.0

while true
do
#pidfile=`cat /application/nginx/logs/nginx.pid`
#status_code=`curl -s -w "%{http_code}" -o /dev/null 192.168.0.160`
port=`netstat -tunlp|grep 80|wc -l`
process=`ps -ef|grep nginx|grep -v grep|wc -l`

if [ $port -eq 0 ] && [ $process -eq 0 ]
  then
    /application/nginx/sbin/nginx
else
    echo "Nginx is running."
fi
  sleep 5
port=`netstat -tunlp|grep 80|wc -l`
process=`ps -ef|grep nginx|grep -v grep|wc -l`
status_code=`curl -s -w "%{http_code}" -o /dev/null 192.168.0.160`
if [ $port -eq 0 ] && [ $process -eq 0 ] || [ $status_code -ne 200 ]
  then
    echo "Warnning,Nginx service is not OK."|mail -s "Warnning,Nginx no OK!" [email protected]
else
    echo "Nginx is running."
fi
  sleep 5
done