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

时间: 2024-07-29 04:11:30

自动监控apache服务状态并重启的shell脚本的相关文章

监控网站是否可以正常打开的Shell脚本分享_linux shell

最近刚好需要测试一下新建站的稳定性,所以写了个SHELL脚本放到本机(最近换了mac本),能够实时查看你需要监控的WEB页面状态,并发送到指定邮箱. 这里赞一下OS X自带有crontab计划任务,可以直接在本机测试脚本啦^_^ # vi check_web_alive.sh 复制代码 代码如下: #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH # de

linux下监视进程 崩溃挂掉后自动重启的shell脚本

 如何保证服务一直运行?如何保证即使服务挂掉了也能自动重启?在写服务程序时经常会碰到这样的问题.在Linux系统中,强大的shell就可以很灵活的处理这样的事务.     下面的shell通过一个while-do循环,用ps -ef|grep 检查loader进程是否正在运行,如果没有运行,则启动,这样就保证了崩溃挂掉的进程重新被及时启动.     必须注意两点:     1.ps |grep 一个进程时必须加上其路劲,否则容易grep到错误的结果:     2.必须用 -v 从结果中去除gre

linux下监视进程 崩溃挂掉后自动重启的shell脚本_linux shell

================================================= 本文为khler原作,转载必须确保本文完整并完整保留原作者信息及本文原始链接 Author: HeYuanHui E-mail: khler@163.com QQ: 23381103 MSN: pragmac@hotmail.com ================================================= 如何保证服务一直运行?如何保证即使服务挂掉了也能自动重启?在写服务

自动杀掉占用较多CPU资源的Shell脚本_linux shell

复制代码 代码如下: #!/bin/bash # March-13-2006# CPUuse trigger script by Noel## bash code to watch a running program's CPU usage.# if it's above a set value, it will auto send an email.# You will need to set a Cron job to run this script every xx minutes## S

智能监测自动重启Apache服务器的Shell脚本_linux shell

由于需要监控某些要求高可用性的Apache服务器,除了专业的监控报警设备,低成本下在Apache服务器上写一个自动监测Apache状态的脚本是个不错的主意.在网上搜索了许多类似的脚本,但由于局限性较大,也都存在一些不完善的地方,所以自己写了一个. 脚本功能与特点 1.能够每隔一段时间监测Apache服务器的可用性(由于本脚本直接模拟了客户端的访问,因此这里的"可用性"是指切切实实的正常可访问) 2.在出现无法访问的情况下,能够自动重启Apache服务(强行重启) 3.在重启后仍然无法正

如何用 Nagios 监控通用服务

Nagios内置了很多脚本来监控服务.本篇会使用其中一些来检查通用服务如MySql.Apache.DNS等等. 为了保证本篇集中在系统监控,我们不会在这里配置主机组或者模板,它们已经在 前面的教程中覆盖了,它们可以满足需要了. 在命令行中运行Nagios 通常建议在添加到Nagios前,先在命令行中运行Nagios服务检测脚本.它会给出执行是否成功以及脚本的输出将会看上去的样子. 这些脚本存储在 /etc/nagios-plugins/config/ ,可执行文件在 /usr/lib/nagio

自动创建分区的shell脚本

题目:用shell脚本自动添加分区,已实现功能如下: 1.检查扩展分区是否,且是否可以添加,如果可以则把所有的剩余空间设置为扩展分区 2.当扩展分区存在,则输入要添加的分区大小,仅接受大于1的正整数 代码如下: #!/bin/bash Hard='/dev/sda' Exten=`fdisk -l $Hard|grep Extended` Maxnum=`fdisk -l $Hard|grep -o "^/dev/sda[1-9]\>"|tr -d [[:punct:]]|tr

centos7中重启apache服务出现的问题,求解决啊

问题描述 centos7中重启apache服务出现的问题,求解决啊 解决方案 看起来是kill进程的时候找不到"",PS 看一下是否有apache的进程,是不是可以手动kill一下. 解决方案二: 我用systemctl start httd.service 都启动不了 解决方案三: apache的服务是不是安装,注册好了 解决方案四: 看看你的/etc/httpd/conf.d/wsgi-keystone.conf这个配置文件,是不是什么地方写错了? 确定没错的话,输入 system

linux系统下ubuntu重启apache服务命令

Linux系统为Ubuntu 一.Start Apache 2 Server /启动apache服务 # /etc/init.d/apache2 start or $ sudo /etc/init.d/apache2 start 二. Restart Apache 2 Server /重启apache服务 # /etc/init.d/apache2 restart or $ sudo /etc/init.d/apache2 restart 三.Stop Apache 2 Server /停止ap