如果想监控apache的话,一般是看看它的服务有没有起来,端口有没有开启,这个可以用nmap命令来查看,不过还有一种比较贴近用户的方法,就是wget下载 网页,如果网页上的某个东西下载正常就说明,这个网站没有什么问题,下面是用第一种方法,是我写的
#!/bin/bash
[ -z $1 ] && {
echo "Usage: you not input var"
}
server="`nmap -p 80 127.0.0.1|grep open`" >&/dev/null
if [ -n "$server" ];then
echo "the $server is running"
else
service $1 start
fi
比较简单。执行结果如下
[root@zhouyu shell]# sh apache_check.sh httpd
the 80/tcp open http is running
[root@zhouyu shell]# service httpd stop
停止 httpd: [确定]
[root@zhouyu shell]# sh apache_check.sh httpd
正在启动 httpd: [确定]
[root@zhouyu shell]#
下面这个是老师写的
#!/bin/bash
httpdCode=`curl -I -s 127.0.0.1|head -1|cut -d " " -f2`
if [ "$httpdCode" -eq 200 ];then
echo "apache is running."
else
echo "apache is not running."
service httpd start
fi
下面是运行效果
[root@zhouyu shell]# sh apache_check_test.sh
apache is running.
[root@zhouyu shell]# service httpd stop
停止 httpd: [确定]
[root@zhouyu shell]# sh apache_check_test.sh
apache_check_test.sh: line 3: [: : integer expression expected
apache is not running.
正在启动 httpd: [确定]
[root@zhouyu shell]#
本文出自 “爱周瑜” 博客,请务必保留此出处http://izhouyu.blog.51cto.com/10318932/1891982
原文:http://izhouyu.blog.51cto.com/10318932/1891982