openwrt路由在中继模式下掉线检测重启脚本

家里的路由中继别人的较远处一个TP-link来上网,但是距离太远,经常断线,断线异常时自己也不知道,于是写个个检测脚本来判断是否掉线

主要是ping上级路由

通了再ping 114dns没接触过shell脚本,逻辑都没怎么搞好直接上来一个while大循环加多重if

写得很烂,将就着用好了

echo 'hello world'
while test "1" = "1"
do
# do something
#第一次ping 上级192.168.1.1
if ping -w 1 -c 1 192.168.1.1
then #若通则ping 114 
  if ping -w 1 -c 1 114.114.114.114
  then echo '01 Network ok'
  else #再ping 115确认
      if -w 1 -c 1 ping 114.114.115.115
       then echo '02 Network ok'
        #上级通,114,115均不通,重启网络
      else /etc/init.d/network restart   #重启网络,等待即可 
        echo 'F1: Network Fail'
      fi
    fi
#第一次ping上级192不通,第二次ping
else
   if ping -w 1 -c 1 192.168.1.1
    then #第二次ping上级通了
     if ping -w 1 -c 1 114.114.114.114
       then #ping 114也通了
       echo '04 Network ok'
      else #ping 114 不通再ping 115确认
         if ping -w 1 -c 1 114.114.115.115
          then #115可达
           echo '05 Network ok'
         #114,115均不通,重启网络
          else /etc/init.d/network restart   #重启网络,等待即可 
          echo 'F3: network Fail'
          fi
      fi
#第二次ping上级还是不通,直接ping 114试下
    else
      if ping -w 1 -c 1 114.114.114.114
         then #114可达,网络正常
          echo '03 network ok'
      else #确实不通,唯有重启
        /etc/init.d/network restart   #重启网络,等待即可 
        echo 'F2: Network Fail'
      fi
    fi
fi

sleep 100
done

https://my.oschina.net/hoyho/blog/513505
posted @ 2020-08-29 07:29  笠航  阅读(1230)  评论(0编辑  收藏  举报