家里的路由中继别人的较远处一个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
时间: 2024-12-25 19:56:59