坚持以客户需求至上原则
中国老牌优质服务商

网络通断检测脚本

无论是家用还是服务器,难免会遇到断网的情况。以下是一个断网检测脚本,可以参考一下,自行修改。

适用与LINUX服务器

#!/bin/bash
# 网络通断检测

Result=0
NoResponseipList=""
number=10

for ip in $@;
do 
    echo -n $(date '+%F %T')" "$ip
    p=`ping $ip -c $number | grep packets | awk '{print $6}'`
    if [ $p == '100%' ];then
        echo -e " \033[31m目标服务器联通异常\033[0m"
        let Result+=1;
        NoResponseipList="$NoResponseipList$ip "
    else
        echo -e " \033[32m目标服务器联通正常\033[0m"
    fi
done

if [ -n $NoResponseipList ];then 
    NoResponseipList=`echo $NoResponseipList | sed 's/ $//g'`
fi 

if [ $Result -eq $# ]; then 
    i=1
    while true;
    do 
        sleep 60
        p=`ping $1 -c $number | grep packets | awk '{print $6}'`
        if [ $p == '100%' ];then
            echo -e "$(date '+%F %T') $1 \033[31m未能正常访问\033[0m"
            let i+=1;
        else 
            echo "$(date '+%F %T') 网络恢复,等待时间: `expr $i \* 60`"
            break
        fi
    done 
elif [[ $Result -gt 0 && $Result -lt $# ]]; then 
    echo "$NoResponseipList不通"
else 
    echo "一切正常"
fi 

需要crontab计划任务配合使用

*/5 * * * * sh /root/TestNetWorkInReset.sh 您设置的多个IP >> /root/TestNetWorkInReset.log 2>&1

案例:

赞(39)

更专业 更快速 更方便

华夏名网VIP服务