linux apache 自动监护脚本

1 首先安装curl

yum install curl

2 编写shell

vi restart_apache.sh

写入一下内容

#!/bin/bash
URL="http://127.0.0.1/"
curlit()
{
curl --connect-timeout 35 --max-time 40 --head --silent "$URL" | grep ‘200‘
}

doit()
{
if ! curlit; then
sleep 20
top -n 1 -b >> /var/log/restart_log/apache.log
/etc/init.d/httpd stop
sleep 2
/etc/init.d/httpd start > /dev/null
echo $(date) "Apache Restart" >> /var/log/restart_log/re_apache.log
sleep 30
if ! curlit; then
echo $(date) "Failed! Now Reboot Computer!" >> /var/log/restart_log/rebot_apache.log
reboot
fi
sleep 180
fi
}

sleep 300
while true; do
doit > /dev/null
sleep 10
done

3 把restart_apache.sh 加入到定时计划任务

crontab -e

写入以下内容

  */1 * * * * /home/restart_apache.sh  //一分钟执行一次

crontab -l 查看 是否加入成功

4 chmod +x  restart_apache.sh 表示可以执行

5 测试 把apache停止  然后测试 过一会看看apache是否已经自动启动

linux apache 自动监护脚本,布布扣,bubuko.com

时间: 2024-12-26 11:45:57

linux apache 自动监护脚本的相关文章

Linux中自动安装脚本

如何让你的主机自动的完成安装,自动的回答系统提出的问题,编写自动安装脚本即可实现,如下将详细解释自动脚本安装方法. systemd-config-kickstart  ##自动应答脚本制作工具 安装成功,在安装过程中systemd-config-kickstart 将做出脚本应答 进行选择语言选择 (1)Basic Configuration 安装过程的必须一致时区选择(可不选,在脚本中都有写到,这里做一个解释) Root passwd 填写Root密码,并确认,两次输入密码 Advanced

Linux 开机自动执行脚本设置

1.首先将需要开机自动执行的脚本demoshell复制到/etc/init.d下 2.修改此脚本的权限 chmod 755 /etc/init.d/demoshell 3.设置启动时执行此脚本 cd /etc/init.d update-rc.d demoshell  defaults 95 最后的数字表示执行顺序,是第几个被执行的 这个命令 等价于update-rc.d demoshell start 95 2 3 4 5 . stop 95 0 1 6表示在Linux的运行2,3,4,5的级

linux LNMP自动安装脚本

#!/bin/bashsoft_dir="/home/soft"config_dir="/home/config"httpd="httpd-2.0.52"mysql="mysql-5.1.56"php="php-5.2.17"phpmyadmin="phpMyAdmin-2.9.0.2"zend="ZendOptimizer-3.2.6-linux-glibc21-i386&q

linux 项目自动部署脚本

#!/bin/bash#设置变量cd /home#停止tomcatecho "开始停止tomcat..." ps x | grep java | grep -v grep | awk '{print $1}' | xargs kill -9#ps x | grep java | grep -v grep | awk '{print $1}'#ps x | grep java | grep -v grep | kill -9 $1#echo $1#kill -9 $1ps x | gre

linux 自动备份脚本

首先我在/root/backup 目录下建立一个文件夹, #mkdir /root/backup/mysqlbackup 以后在每天五点钟,就会有一个文件保存在这里. 接着新建文件 #vim /root/mysqlautobak 输入: filename=` date +%Y%m%d ` mysqldump --all-databases -uroot -p(mysql密码)> /root/backup/mysqlbackup/mysql$file.sql 保存退出! 让它可以执行 #chomd

Linux FTP自动登陆下载备份,上传文件脚本

使用远程的服务器,对另外一台远程的服务器进行FTP操作,速度要比本地机器操作快很多. 之前写过一篇关于FTP如何手工的在Linux进行远程操作, 今天找到一个自动批量的脚本,感觉很好.满足了我的需要. 我的A网站在香港 我的B服务器Linux的在国内.这样就可以把A网站自动备份到B服务器了. 希望本篇博客能给需要的同学一些帮助. #####从ftp服务器上的/home/data 到 本地的/home/databackup#### #!/bin/bash ftp -n<<! open 192.1

〖Linux〗自动连接VPN脚本(开机执行)

最近发现VPN经常会断线.. 环境:Ubuntu 14.04 一.创建VPN配置 单击桌面右上网络图标 -- 编辑连接 -- 添加 -- PPTP -- 新建 (填写上网关.用户名.密码...) 高级 -- 使用点到点加密(MPPE) -- 确定 二.查看刚刚新建网络UUID: nmcli con list 记录下你的VPN连接UUID 三.编写自动连接脚本: sudo vi /etc/init.d/autovpn sudo chmod +x /etc/init.d/autovpn 1 #!/b

linux下PXE无人值守环境自动安装脚本

当时单位要安装一套linux的PXE无人值守装机程序,装完后花了九牛二虎之力写了一个自动安装脚本,以便今后安全方便,不过后来就没怎么用了,甚至都有些淡忘了,哈哈,分享出来,有研究PXE自动安装的可以看看,在使用的时候里面的ip地址要换掉的. #!/bin/sh #writer:gaolixu yum -y install dhcp tftp-server vsftpd syslinux xinetd if ! service dhcpd status ;then ############### 

Linux自动备份脚本

今天网上一个朋友问了我一个shell的题目,让我帮他做下.下面是题目以及解题思路. 题目: 写作一个备份/etc目录的脚本,要求:将/etc目录下的所有文件cp到/var/backups目录下的以当天的日期命名的目录中例如(/var/backups/etc.20140809).并且判断前一天的目录中的文件与当天的区别,如果无区别,则删除前一天的备份目录. 解答: [[email protected] scripts]# cat auto_bak.sh  #!/bin/bash # # This