最新整理智能监测自动重启Apache服务器的Shell脚本
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
智能监测自动重启A p a c h e服务器的S h e l l脚本自动重启故障相信大家都遇到过,原因也有很多,跟系统,硬件或者外界因素都有关。这篇文章主要介绍了智能监测自动重启A p a c h e服务器的S h e l l脚本,实现监控A p a c h e不可用时,第一次强制重启,第二次邮件通知管理员,需要的朋友可以参考下
脚本功能与特点
1、能够每隔一段时间监测A p a c h e服务器的可用性(由于本脚本直接模拟了客户端的访问,因此这里的可用性是指切切实实的正常可访问)
2、在出现无法访问的情况下,能够自动重启A p a c h e 服务(强行重启)
3、在重启后仍然无法正常访问的话,自动执行更进一步的操作(比如发送邮件、重启服务器等)
后文将给出此脚本的具体使用方法与注释,大家可以根据自己的情况手动修改(需了解一定b a s h s h e l l编程)。
脚本内容:
#!/b i n/b a s h
U R L=h t t p://127.0.0.1/
c u r l i t()
{
c u r l c o n n e c t-t i m e o u t 15 m a x-t i m e 20 h e a
d s i l
e n t $U R L|g r e p200
#上面的15是连接超时时间,若访问l o c a l h o s t的H T T P服务超过15s仍然没有正确响应200头代码,则判断为无法访问。
}
d o i t()
{
i f!c u r l i t;t h e n
#如果l o c a l h o s t的a p a c h e服务没有正常返回200头,即出现异常。执行下述命令:
s l e e p20
t o p-n1-b /v a r/l o g/a p a c h e m o n i t o r.l o g
#上面将t o p命令内容写入日至文件备查
/u s r/b i n/k i l l a l l-9a p a c h e2 /u s r/b i n/k i l l a l l -9p h p5-c g i /u s r/b i n/k i l l a l l-9h t t p d
/u s r/b i n/k i l l a l l-9h t t p /u s r/b i n/k i l l a l l-9
a p a c h e /u s r/
b i n/k i l l a l l-9p h p-
c g i /
d
e v/n u l l
#兼容起见,杀死了各种a p a c h e的进程。可以根据自己a p a c h e服务的特点修改
s l e e p2
/e t c/i n i t.d/a p a c h e2s t a r t /d e v/n u l l
/e t c/i n i t.d/h t t p d s t a r t /d e v/n u l l
#兼容起见,执行了两种a p a c h e重启命令,可根据需要自己修改。
e c h o$(d a t e)A p a c h e R e s t a r t
/v a r/l o g/a p a c h e m o n i t o r.l o g
#写入日志
s l e e p30
#重启完成后等待三十秒,然后再次尝试一次
i f!c u r l i t;t h e n
#如果仍然无法访问,则:
e c h o$(d a t e)F a i l e d!N o w R e b o o t C o m p u t e r!
/v a r/l o g/a p a c h e m o n i t o r.l o g
#写入a p a c h e依然重启失效的日志
r e b o o t
#重启机器呗。实际上重启整个服务器是一种非常不得已的做法。本人并不建议。大家根据需要自己修改,
比如短信、邮件报警什么的。
f i
s l e e p180
f i
}
s l e e p300
#运行脚本后5分钟后才开始正式工作(防止重启服务器后由于a p a c h e还没开始启动造成误判)
w h i l e t r u e;d o
#主循环体
d o i t /d
e v/n u l l
s l e e p10
d o n e
使用方法
使用方法非常灵活,总之让上面的脚本在开机后一直执行就行了。由于脚本使用了c u r l命令,因此还需要安装c u r l环境。安装c u r l的方法:
根据发行版选择下面两条命令即可:
y u m i n s t a l l c u r l
a p t-g e t i n s t a l l c u r l
若希望将其自动启动,则可以把脚本写入r c.l o c a l 中即可。
补充:电脑总是自动重启怎么办
1、右击我的电脑,选择属性项。
2、在打开的系统属性窗口中选择高级系统设置项进入。
3、在打开的系统属性窗口中,切换至高级选择卡,然后点击系统和故障恢复设置按钮。
4、在打开的窗口中取消勾选自动重启启动项并按确认即可。
5、当电脑在使用的过程中产生蓝屏时,我们就可以进入系统日志管理器中查看产生系统失败的根源啦。打开运行对话框,输入命令e v e n t v w r.m s c即可查看日志信息,从中定位系统产生失败的原因。
6、当然,我们也可以通过禁用某些开机项来尝试修复系统。打开运行对话框,输入命令m s c o n f i g进入系统配置实用程序界面,勾选常规选项卡下的诊断启动选项。
7、还有一种修复计算机蓝屏或重启故障的方法,就是在电脑启动时按F8进入系统故障菜单,从中选择安