分享一个linux中测试网站是否正常的shell脚本

#! /bin/bash
#Author=Harry
CheckUrl() {   #<==定义函数,名字为CheckUrl
    timeout=5  #<==定义wget访问的超时时间,超时就退出
    fails=0    #<==初始化访问网站失败的次数记录变量,若失败达到两次,就发邮件报警
    success=0  #<==初始化访问网站成功的次数记录变量,若为1,则表示成功,退出脚本
    while true
        do
            wget --timeout=$timeout --tries=://192.168.1.99/harry -q -O /dev/null
            #<==使用wget测试访问
            if [ $? -ne 0 ] #<==如果上述wget命令执行不成功,即返回值不为0,则执行if语句内的的指令
                then
                    let fails=fails+1  #<==将访问失败的次数加1,这个就是let的用法,可以用((fails=fails+1))代替
            else
                let success+=1 #<==返回值不为0则不成立,即访问成功,将成功的次数加1
            fi
            if [ $success -ge 1 ] #<==如果成功的次数大于等于1
                then
                    echo success  #<==打印访问成功
                    exit 0
            fi
            if [ $fails -ge 2 ]
                then
                Critical="sys is down."
                echo $Critical|tee|mail -s "$Critical" 1505196767@qq.com #<==输出并发送邮件报警
                exit 3
            fi
    done
}
CheckUrl  #<==执行函数

  

posted @ 2019-05-21 16:31  Rich七哥  阅读(1380)  评论(0编辑  收藏  举报