|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
虽然Linux桌面应用发展很快,但是命令在Linux中依然有很强的生命力。Linux是一个命令行组成的操作系统,精髓在命令行。
因为必要监控某些请求高可用性的Apache服务器,除专业的监控报警设备,低本钱下在Apache服务器上写一个主动监测Apache形态的剧本是个不错的主张。在网上搜刮了很多相似的剧本,但因为范围性较年夜,也都存在一些不完美的中央,以是本人写了一个。
剧本功效与特性
1、可以每隔一段工夫监测Apache服务器的可用性(因为本剧本间接摹拟了客户真个会见,因而这里的“可用性”是指切实在实的一般可会见)
2、在呈现没法会见的情形下,可以主动重启Apache服务(强行重启)
3、在重启后仍旧没法一般会见的话,主动实行更进一步的操纵(好比发送邮件、重启服务器等) 后文将给出此剧本的详细利用办法与正文,人人能够依据本人的情形手动修正(需懂得必定bashshell编程)。
剧本内容
#!/bin/bash
#本剧本由VPS办理百科编写
#会见:http://WWW.BOOTF.COM猎取手艺撑持
URL=”http://127.0.0.1/”
curlit()
{
curl–connect-timeout15–max-time20–head–silent“$URL”|grep’200′
#下面的15是毗连超不时间,若会见localhost的HTTP服务凌驾15s仍旧没有准确呼应200头代码,则判别为没法会见。
}
doit()
{
if!curlit;then
#假如localhost的apache服务没有一般前往200头,即呈现非常。实行下述命令:
sleep20
top-n1-b>>/var/log/apachemonitor.log
#下面将top命令内容写进日至文件备查
/usr/bin/killall-9apache2&&/usr/bin/killall-9php5-cgi&&/usr/bin/killall-9httpd&&/usr/bin/killall-9http&&/usr/bin/killall-9apache&&/usr/bin/killall-9php-cgi>/dev/null
#兼容起见,杀逝世了各类apache的历程。能够依据本人apache服务的特性修正
sleep2
/etc/init.d/apache2start>/dev/null
/etc/init.d/httpdstart>/dev/null
#兼容起见,实行了两种apache重启命令,可依据必要本人修正。
echo$(date)“ApacheRestart”>>/var/log/apachemonitor.log
#写进日记
sleep30
#重启完成后守候三十秒,然后再次实验一次
if!curlit;then
#假如仍旧没法会见,则:
echo$(date)“Failed!NowRebootComputer!”>>/var/log/apachemonitor.log
#写进apache仍然重启生效的日记
reboot
#重启呆板呗。实践上重启全部服务器是一种十分不得已的做法。自己其实不倡议。人人依据必要本人修正,好比短信、邮件报警甚么的。
fi
sleep180
fi
}
sleep300
#运转剧本后5分钟后才入手下手正式事情(避免重启服务器后因为apache还没入手下手启动形成误判)
whiletrue;do
#主轮回体
doit>/dev/null
sleep10
done
下载完全无误的监控剧本
点击下载:apachemonitor.tar.gz
利用办法
利用办法十分天真,总之让下面的剧本在开机后一向实行就好了。因为剧本利用了curl命令,因而还必要安装curl情况。安装curl的办法:
依据刊行版选择上面两条命令便可:
1yuminstallcurl
1apt-getinstallcurl
若但愿将其主动启动,则能够把剧本写进rc.local中便可。
要多google,因为我不可能,也不可以给你解答所有内容,我只能告诉你一些关键点,甚至我会故意隐瞒答案,因为在寻找答案的过程中。 |
|