说明下:我的主机为 Centos 系统
vi apachemonitor.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 #!/bin/bash URL=”http://127.0.0.1/” curlit (){ curl –connect-timeout 15 –max-time 20 –head –silent “$URL ” | grep ’200′ } doit (){ if ! curlit; then sleep 20top -n 1 -b >> /var/log/apachemonitor.log /usr/bin/killall -9 apache2 && /usr/bin/killall -9 php5-cgi && /usr/bin/killall -9 httpd && /usr/bin/killall -9 http && /usr/bin/killall -9 apache && /usr/bin/killall -9 php-cgi > /dev/null sleep 2/etc/init.d/apache2 start > /dev/null /etc/init.d/httpd start > /dev/null echo $(date ) “Apache Restart” >> /var/log/apachemonitor.logsleep 30if ! curlit; then echo $(date ) “Failed! Now Reboot Computer!” >> /var/log/apachemonitor.logreboot fi sleep 180fi } sleep 300while true ; do doit > /dev/null sleep 10done
然后执行: chmod +x apachemonitor.sh
添加开机启动项:
vi /etc/rc.d/rc.local
我的rc.local脚本内容为:
1 2 3 4 5 6 7 8 9 touch /var/ lock/subsys/ local /root/ lampmonitor.sh