判断apache是否启动可以通过多种方式

ps:

[root@bogon ~]# ps -aux | grep httpd

netstat:

[root@bogon ~]# netstat -tlun

查看80端口的占用情况,但是当apache假死或者其他程序占用80端口的时候这样的判断就不一定准确。推荐使用另一种方式判断,那就是nmap扫描工具。

安装nmap:

[root@bogon ~]# yum install nmap
[root@bogon ~]# nmap -sT 192.168.8.8 #扫描192.168.8.8的TCP服务

下面进行脚本编写:

#!/bin/bash
web=`nmap -sT 192.168.8.8 | grep tcp | grep http | awk '{print $2}'`
if
[ "$web" == "open" ]
then
echo "$(date) The apache is ok !!!!">>/lee/apachelog/apache_acc.log
else
service httpd restart &>>/lee/apachelog/apache_err.log
echo "$(date)The apache is restarting!!!">>/lee/apachelog/apache_err.log
fi

赋予执行权限:

[root@bogon sh]# chmod 755 apache.sh

加入计划任务(略)。