作业——监视APACHE服务

[kiosk@foundation61 Desktop]$ mv pp.sh httpd.sh
#!/bin/bash
#Date:     2018-12-27
#Author:   Zhang Yongjie
#Connect:  928357011@qq.com
#Desc:     This script used to monitor the APACHE scripts
#Version:  1.0
 
 ROOT_UID=0
if [ "$UID" -ne "$ROOT_UID" ];then
   echo "Error:you should be root to run this script!" 
      exit 1
      fi
systemctl start httpd  &>>/dev/null
 if   [ $? == 0 ];then
while true
do
        echo -e "
        \033[31m start   启动httpd服务 \033[0m 
        \033[32m stop    停止httpd服务 \033[0m 
        \033[33m restart 重启httpd服务 \033[0m 
        \033[34m status  检查httpd服务 \033[0m 
        \033[35m exit    退出执行程序   \033[0m 
                "
read -p "请输入一个您的指令:"  a
case $a in
start|START)
      systemctl start httpd && echo "httpd启动成功" || echo "httpd启动失败"
      ;;
stop|STOP)
      systemctl stop httpd && echo "httpd停止成功" || echo "httpd停止失败"
      ;;
restart|RESTART)
      systemctl restart httpd && echo "httpd重启成功" || echo "httpd重启失败"
      ;;
status|STATUS)
      systemctl status httpd && echo -e `systemctl status httpd`
        ;;
exit|EXIT)
        exit 0
        ;;
esac
done
fi
echo "没有安装httpd服务" 
while true
do
        echo -e "
        \033[31m install   安装Apache服务 \033[0m 
        \033[32m exit      退出执行程序 \033[0m
          " 
read -p "请输入一个您的指令:" o
case $o in
install|INSTALL)
            yum install httpd -y &> /dev/null && echo "安装成功,请重新启动程序" || echo "您的yum源有问题"
          ;;
          
exit|EXIT)
           exit 0
          ;;
esac
done

在这里插入图片描述
在这里插入图片描述

自动监控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.记录日志

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值