1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #!/bin/bash url=https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID url_name=qyapi.weixin.qq.com
IPS=$(cat /etc/hosts|grep ${url_name}|awk '{print$1}') for IP in $IPS; do ?echo "当前映射,${url_name} 的公网ip地址:$IP" ? ? ? ? #resolve需要libcurl版本7.21.3才支持 ? ? ? ? status_code=$(curl --resolve $url_name:443:$IP -m 5 -s -o /dev/null -w %{http_code} $url) ? ? ? ? ? echo "$url服务器,状态码为${status_code}" ? ? ? ? #指定测试服务器状态的函数,并根据返回码决定是发送邮件报警还是将正常信息写入日志 ?if [ "$status_code" != "200" ];then ? ? #删除/etc/hosts里面的qyapi.weixin.qq.com对应的第一个IP的行 ? ? #如果要使用shell变量,就需要使用双引号 ? ? sed -i "/$IP/d" /etc/hosts ? ? echo "成功删除无效IP映射,IP:$IP"? ? ? ? else ? ? echo "$url测试正常" fi done |