使用脚本实现故障时自动重启Apache
最近不知道为什么博客总是莫名其妙地挂掉,
重启Apache就好了,我也懒得去研究到底是哪里出了问题。
只是每次都需要手工SSH上去重启Apache,有点麻烦。
而且有时候在夜里挂掉,一晚上博客就都不能访问了。
后来终于忍无可忍,写了一段脚本来做这件事,代码如下:
#!/bin/sh
if ( wget --timeout=5 -q --spider http://leonax.net/ )
then
echo "ok"
else
/etc/init.d/httpd restart
echo "httpd restarted"
fi
原理很简单,就是尝试访问一下博客(第三行),
如果有什么问题,就重启Apache(第七行)。
其中wget的参数–spider表示只是访问一下,并不下载内容。
如果你喜欢的话,还可以在else中加一段发邮件的代码,
把Apache的error log直接发到邮件,方便分析,不过我就懒得做了。
然后把这段代码保存为check_apache.sh,添加到crontab中:
*/5 * * * * /var/www/check_apache.sh
其中*/5表示每5分钟运行一下check_apache.sh。
注意打开crontab的时候要使用sudo,因为重启Apache需要sudo权限。
非常实用的一个小功能,给使用Linux的小伙伴们发福利啦~
相关推荐
-
apache和mysql重启命令
命令为: /etc/rc.d/init.d/httpd restart chown -R mysql:mysql 目录名 改变文件属性 mysqladmin -u root -p password 'new password' 设置密码 apt-get remove 删除软件 apt-get clean 清理 /etc/rc.d/init.d/mysqld restart php 就配置了session 主要是配置 了apache /etc/init.d/apache2 restart /etc
-
windows下实现定时重启Apache与MySQL方法
采用at命令添加计划任务.有关使用语法可以到window->"开始"->运行"cmd"->执行命令"at /",这样界面中就会显示at命令的语法.下面我们讲解下如何让服务器定时启动apache与mysql: 1.在c:盘根目录新建一个autostartserver.bat文件,然后右键编辑,将文件内容设为如下后保存: 复制代码 代码如下: @ECHO OFF net stop apache2 net start apache2
-
智能监测自动重启Apache服务器的Shell脚本
由于需要监控某些要求高可用性的Apache服务器,除了专业的监控报警设备,低成本下在Apache服务器上写一个自动监测Apache状态的脚本是个不错的主意.在网上搜索了许多类似的脚本,但由于局限性较大,也都存在一些不完善的地方,所以自己写了一个. 脚本功能与特点 1.能够每隔一段时间监测Apache服务器的可用性(由于本脚本直接模拟了客户端的访问,因此这里的"可用性"是指切切实实的正常可访问) 2.在出现无法访问的情况下,能够自动重启Apache服务(强行重启) 3.在重启后仍然无法正
-
使用脚本实现故障时自动重启Apache
最近不知道为什么博客总是莫名其妙地挂掉, 重启Apache就好了,我也懒得去研究到底是哪里出了问题. 只是每次都需要手工SSH上去重启Apache,有点麻烦. 而且有时候在夜里挂掉,一晚上博客就都不能访问了. 后来终于忍无可忍,写了一段脚本来做这件事,代码如下: 复制代码 代码如下: #!/bin/sh if ( wget --timeout=5 -q --spider http://leonax.net/ ) then echo "ok" else /etc/init.d/httpd
-
linux下通过脚本实现自动重启程序
无论什么程序都不可能完美无缺,理论上,任何程序都有Core Dump的一天,正式运营的程序,尤其是服务器程序,一旦Core Dump,后果不堪设想,有过服务器开发经验的朋友,一定都经历过深夜美梦中,被电话惊醒的惨痛经历,手忙脚乱把服务器重新启动,第二天上班还要被老板一顿狠批.所以,程序发生错误时自动重启变得很重要.这里集中讨论linux实现自动重启程序的方法. linux下实现程序的自动重启有很多方法,这里我们介绍的是通过自己写脚本来实现, 自动重启脚本 假定需要实现重启的程序名为 test ,
-
详解程序意外中断自动重启shell脚本(以Python为例)
我们经常需要在后台运行一些python脚本,来监控系统或者做一些其他事情:但是 由于各种各样的原因,排除python脚本代码的问题,脚本运行过程中会挂掉.为了不天天耗在上面等重启,可以制作shell脚本对程序予以监控,对于意外中断的程序自动重启. 以控制 python自动重启的shell脚本为例: cd Desktop vim run.sh #新建名为run的shell脚本 写入(此处以名为run的Python脚本为例) #!/bin/bash while [ 1 ];do python run
-
自动重启服务的shell脚本代码
复制代码 代码如下: #!/bin/bash if [ ! -f /tmp/down_count ];then echo "0" > /tmp/down_count fi curl -I tomcat-host -o "/tmp/status" >/dev/null 2>&1 code=`awk 'NR==1 {print $2}' /tmp/status` if [ "$[code]" -ge 500 ];then d
-
linux下监视进程 崩溃挂掉后自动重启的shell脚本
================================================= 本文为khler原作,转载必须确保本文完整并完整保留原作者信息及本文原始链接 Author: HeYuanHui E-mail: khler@163.com QQ: 23381103 MSN: pragmac@hotmail.com ================================================= 如何保证服务一直运行?如何保证即使服务挂掉了也能自动重启?在写服务
-
PHP脚本监控Nginx 502错误并自动重启php-fpm
最近服务器时不时出现Nginx 502 Bad Gateway,如果在电脑旁边还好,要是半夜或者出去了,怎么办? 没关系,写个脚本检测服务状态,发现异常,自动重启. 自动重启脚本: 复制代码 代码如下: <?php $url = 'http://blog.rebill.info'; $cmd = '/usr/local/php/sbin/php-fpm restart'; for($i = 0; $i < 5; $i ++){ $exec = "curl con
-
SpringBoot启动时自动执行sql脚本的方法步骤
需要配置项目下的yml文件: 在文件下加如如下配置: data: classpath:code-generator-data.sql initialization-mode: always spring.datasource.initialization-mode: 初始化模式(springboot2.0),其中有三个值: always为始终执行初始化 embedded只初始化内存数据库(默认值),如h2等 never为不执行初始化 spring.datasource.data: 数据初始化,默
-
详解如何在 Linux 启动时自动执行命令或脚本
我一直很好奇,在启动 Linux 系统并登录的过程中到底发生了什么事情.按下开机键或启动一个虚拟机,你就启动了一系列事件,之后会进入到一个功能完备的系统中,有时,这个过程不到一分钟.当你注销或者关机时,也是这样. 更有意思的是,在系统启动以及用户登录或注销时,还可以让系统执行特定的操作. 本文,我们将探讨一下在 Linux 操作系统中实现这些目标的传统方法. 注意:我们假定使用的是 Bash 作为登录及注销的主 Shell.如果你使用的是其他 Shell,那么有些方法可能会无效.如果有其他的疑问
随机推荐
- js document.write()使用介绍
- smarty静态实验表明,网络上是错的~呵呵
- iOS开发之随机生成两圆之间的标准圆
- js仿QQ邮箱收件人选择与搜索功能
- php中批量删除Mysql中相同前缀的数据表的代码
- Android自定义View基础开发之图片加载进度条
- 在Windows的Apache服务器上配置对PHP和CGI的支持
- Node.js查找当前目录下文件夹实例代码
- C#简单实现显示中文格式星期几的方法
- jQuery实现表单步骤流程导航代码分享
- Java中使用内存映射实现大文件上传实例
- Python基于win32ui模块创建弹出式菜单示例
- Java并发计数器的深入理解
- Python generator生成器和yield表达式详解
- 关于vue v-for循环解决img标签的src动态绑定问题
- 小程序云开发实战小结
- Spring Security角色继承分析
- Python 使用threading+Queue实现线程池示例
- Python实现CNN的多通道输入实例
- Java操作Redis2种方法代码详解