Linux下一个智能重启Apache服务器的脚本分享_Linux

说明下:我的主机为 Centos 系统,各步操作的说明都写在了注释里面,方便阅读。

vi apachemonitor.sh

#!/bin/bash

URL=”http://127.0.0.1/”
curlit()
{
curl –connect-timeout 15 –max-time 20 –head –silent “$URL” | grep '200′
# 上面的15是连接超时时间,若访问localhost的HTTP服务超过15s仍然没有正确响应200头代码,则判断为无法访问。
}
doit()
{
if ! curlit; then
# 如果localhost的apache服务没有正常返回200头,即出现异常。执行下述命令:
sleep 20
top -n 1 -b >> /var/log/apachemonitor.log
# 上面将top命令内容写入日至文件备查
/usr/bin/killall -9 apache2 && /usr/bin/killall -9 php5-cgi && /usr/bin/killall -9 httpd

&& /usr/bin/killall -9 http && /usr/bin/killall -9 apache

&& /usr/bin/killall -9 php-cgi > /dev/null
# 兼容起见,杀死了各种apache的进程。可以根据自己apache服务的特点修改
sleep 2
/etc/init.d/apache2 start > /dev/null
/etc/init.d/httpd start > /dev/null
# 兼容起见,执行了两种apache重启命令,可根据需要自己修改。
echo $(date) “Apache Restart” >> /var/log/apachemonitor.log
# 写入日志
sleep 30
# 重启完成后等待三十秒,然后再次尝试一次
if ! curlit; then
# 如果仍然无法访问,则:
echo $(date) “Failed! Now Reboot Computer!” >> /var/log/apachemonitor.log
# 写入apache依然重启失效的日志
reboot
# 重启机器呗。实际上重启整个服务器是一种非常不得已的做法。本人并不建议。大家根据需要自己修改,比如短信、邮件报警什么的。
fi
sleep 180
fi
}
sleep 300
# 运行脚本后5分钟后才开始正式工作(防止重启服务器后由于apache还没开始启动造

成误判)
while true; do
# 主循环体
doit > /dev/null
sleep 10
done

然后执行: chmod +x apachemonitor.sh

添加开机启动项:
vi /etc/rc.d/rc.local

我的rc.local脚本内容为:

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
/root/lampmonitor.sh

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索apache
重启
怎么重启apache服务器、重启apache服务器、如何重启apache服务器、apache服务器重启命令、服务器定时重启脚本,以便于您获取更多的相关知识。

时间: 2024-08-31 06:01:01

Linux下一个智能重启Apache服务器的脚本分享_Linux的相关文章

linux下安装配置svn独立服务器的步骤分享_Linux

file:/// 直接版本库访问(本地磁盘). http:// 通过配置Subversion的Apache服务器的WebDAV协议. https:// 与http://相似,但是包括SSL加密. svn:// 通过svnserve服务自定义的协议. svn+ssh:// 与svn://相似,但通过SSH封装 svn存储版本数据也有2种方式:BDB和FSFS.因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点.1. svn服务器安装操作系统: Redhat Linux A

Linux下Squid代理服务器的架设与维护经验分享_Linux

通过架设专门的WWW(FTP)代理来满足用户的主要需求,通过架设socks5代理来满足用户的其他需求. 一.对使用者的分析 现有网络情况: 我校校园网通过光缆已将31座建筑物连通,光缆总长度约15Km,绝大多数楼中实现结构化布线,连入校园网的网络多媒体教室.教学基地.实验室.机房等约有数十个,连网计算机达3000多台 .我校目前出口有2个,一条速率为10M bps,通过光纤接入中国教育科研网CERNET,另一条速率为4M bps连入中国电信. 用户的需求: 我校校园网的使用者主体为在校学生及老师

一个监控Squid运行进程数并自动重启的简洁Shell脚本分享_linux shell

复制代码 代码如下: #!/bin/sh while sleep 30 do SquidNum=`ps -ef|grep squid|grep -v grep|wc -l` #HttpNum=`netstat -an|grep 0.0.0.0:80|grep -v grep|wc -l` #80状态 if [ $SquidNum != 3 ] ; then /etc/rc3.duid start adddate=`date +%Y-%m-%d`" "`date +%H:%M:%S` e

Ubuntu、Linux Mint一键安装Chrome浏览器的Shell脚本分享_linux shell

把下面的脚本保存为xxx.sh,然后 sudo sh xxx.sh 复制代码 代码如下: wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/googl

linux数据库备份并通过ftp上传脚本分享_linux shell

复制代码 代码如下: #!/bin/bash #author: 505056357@qq.com echo "backup job start" #设置要备份的网站目录,即是网站的根目录 file=/home/wwwroot/default #设置本地备份目录,用于存放打包后的文件 backpath=/home/wwwroot/bkdata/ dbuser=root #数据密码,要记得用单引号将把整个密码引起来,如果密码中有单引号就用双引号,嘿嘿 dbpwd='123456' dbna

急求Linux下局域网内搭建Email服务器方法,!!!在线等!

问题描述 急求Linux下局域网内搭建Email服务器方法,!!!在线等! 5C 我是一个Linux初学者,最近需要搭建一个email邮件服务器,同局域网内主机间可以相互通过这个邮件服务器发邮件,拜托了,这个真的很急!最好有详细的教程和步骤! 解决方案 http://wenku.baidu.com/link?url=KWhkeraxxKKZMNzT6LtX_7BNaGDZXyUgzneTBDgvqebBt5JMpSzCyiNTK7WjXFoqa2j24aERXjTq62OErzw6Hs8ncAc

linux下一个网卡配置多个IP

  linux下一个网卡如何配置多个IP?linux下边如果没有图形界面了配置网络还真的不是太方便了,呵呵,习惯问题,当然习惯需要改的,最近遇到一个问题需要单网卡配置多个ip地址.文本控制台下面有netconfig,还有ifconfig工具,netconfig图形化的稍微方便些,但是没有文档,配置一个ip还能应付,但是如果配置多个IP就搞不定了,只能使用ifconfig,ifconfig的用法可以使用man ifconfig查看,最常用的给网卡配置ip的命令为 #ifconfig eth0 19

linux下查看nginx、apache、mysql、php的编译参数

下文我们一起来看一个linux下查看nginx.apache.mysql.php的编译参数例子,希望此例子对各位有帮助. 查看nginx.apache.mysql.php参数我们可以用到 /App/nginx/sbin/nginx -V 查看nginx参数 # cat config.nice 查看apache参数 #cat "/usr/local/mysql/bin/mysqlbug"|grep configure 查看mysql参数 /usr/local/php/bin/php -i

lnav:Linux下一个基于控制台的高级日志文件查看器

服务器日志是一个由服务器创建并经常更新.用于抓取特定服务和应用的所有活动信息的日志文件.当你的应用或者服务出现问题时这个文件就会非常有用.从日志文件中你可以获取所有关于该问题的信息,例如基于警告或者错误信息它什么时候开始表现不正常. LNAV(Log file Navigator)是 Linux 下一个基于控制台的高级日志文件查看器.它和其它文件查看器,例如 cat.more.tail 等,完成相同的任务,但有很多普通文件查看器没有的增强功能(尤其是它自带多种颜色和易于阅读的格式). 它能在解压