一个简单监控Apache httpd Server的Shell脚本,如果发现httpd宕掉了,该shell可以自动重启apache
这个只是简单的监控,如果有更复杂的要求,建议使用nagios监控服务,发现问题后报警,再手动处理
httpdcheck.sh
- #!/bin/bash
- # Apache httpd进程监控shell
- # 如果你在使用RHEL / CentOS / Fedora Linux,使用这个重启命令
- RESTART="/sbin/service httpd restart"
- # 如果你在使用 Debian / Ubuntu Linux,把上面的RHEL的注释掉,换用这个
- #RESTART="/etc/init.d/apache2 restart"
- #path to pgrep command
- PGREP="/usr/bin/pgrep"
- # Httpd daemon name,
- # Under RHEL/CentOS/Fedora it is httpd
- # Under Debian 4.x it is apache2
- HTTPD="httpd"
- # Debian / Ubuntu Linux 下进程名是apache2
- #HTTPD="apache2"
- # find httpd pid
- $PGREP ${HTTPD}
- if [ $? -ne 0 ] # if apache not running
- then
- # restart apache
- $RESTART
- fi
可以把上面的shell加入crontab,下面是每5钞钟检查一次的crontab命令:
- */5 * * * * /path/to/httpdcheck.sh >/dev/null 2>&1