生产批量检查web url并通过手机邮件报警案例

脚本:

#!/bin/bash
RETVAL=0        ##定义返回值
SCRIPTS_PATH="/test/oldboy"     ##设定路径
MAILE_GROUP="917785844@qq.com 753323819@qq.com" ##邮件提醒人
LOG_FILE="/tmp/web_check.log"   ##日志路径
Url_Check(){            ##定义URL检查函数
    FAILCONT=0              ##连接失败次数
    for ((i=1;i<=3;i++))
    do 
        #wget -T 10 -t 1 -S http://${HOST_NAME} >/dev/null 2>&1            ##—T 设定超时时间,-t设定重传次数,-S表示不下载
        curl -I http://${HOST_NAME} >/dev/null 2>&1              ##和wget二选一,通过curl获得该URL的头部
        [ $? -ne 0 ] && let FAILCONT+=1   ##进行判断,如果返回值不为0则,连接失败次数加1
    done
    if [ $FAILCONT -eq 0 ]  ##如果连接失败次数为0,则证明全部连接成功
    then
        echo "$HOST_NAME is contacting!"
    else
        RETVAL=1     ##设定返回值为1
        NOWTIME=`date +"%m-%d %H:%M:%S"` ##记录此时的时间
        MAILHEADER="http://${HOST_NAME} service is error,${NOWTIME}"    ##邮件首部
        echo "send to:$MAIL_USER,Tile:$MAILHEADER">$LOG_FILE   ##日志记录
        for MAILE_USER in $MAILE_GROUP
        do
            #mail -s "$MAILHEADER" $MAILE_USER<$LOG_FILE
            #echo "maile is send!"    ##发送邮件
        done
        return $RETVAL     ##返回返回值,最后一布用
    fi
}
[ ! -d "$SCRIPTS_PATH" ] && mkdir -p $SCRIPTS_PATH  ##判断路径是否存在,若不存在则创建
[ ! -f "$SCRIPTS_PATH/domain.list" ] &&{
cat >$SCRIPTS_PATH/domain.list<<EOF
172.25.254.103
172.25.254.62
EOF
}
                ##判断域名文件是否存在,若不存在则创建并输入内容
for HOST_NAME in `cat $SCRIPTS_PATH/domain.list`
    do
        echo "checking $HOST_NAME..."
        Url_Check $HOST_NAME &&echo ok||echo no
                ##通过return的返回值,确定输出为ok或是no
done
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值