监控Web服务器状态,如果2次失败,则报警

[root@115 scripts]# vim checkurl.sh 

#!/bin/bash

#func:此脚本通过访问指定网站,判断访问结果,正常打印成功消息,错误失败次数大于2次,报警并打印失败消息

#Author:martin

 

CheckUrl(){
timeout=5
fails=0
success=0
while true                                                                                                ##循环访问新浪网站,当访问失败次数大于2次,报警
do
        wget --timeout=$timeout --tries=1 http://www.sina.com.cn -q -O /dev/hull                                    ##访问新浪网站
if [ $? -ne 0 ];                                                                                          ##如果返回结束不等于0
        then
                let fails=fails+1                                                                     ##失败次数+1
        else
                let success+=1                                                                    ##成功次数+1
fi
if [ $success -ge 1 ];                                                                            ##判断访问成功次数大于1次,打印成功消息
        then
                echo "Success !!"
                exit 0                                                                                   ##退出代码0,后期可根据返回代码做进一步处理
fi

if [ $fails -ge 2 ];                                                                                ##判断访问失败次数大于2次,打印The Web is down,并报警
        then
        Critical="The Web is down!!"
        echo $Critical|tee|mail -s "$Critical" [email protected]          ##发邮件报警
        exit 2                                                                                           ##退出代码2,后期可根据返回代码做进一步处理
fi
done
}
CheckUrl                                                                                                    ##执行函数

 

你可能感兴趣的:(Shell,Linux运维)