Check network and auto redial
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
#!/bin/bash # speed check url url="https://httpbin.org/bytes/10240" let i=0 timeout=3 while true do #ping -c 1 114.114.114.114 >/dev/null 2>&1 curl $url --connect-timeout $timeout --speed-limit $((10*1024)) --speed-time 5 -o /dev/null -s -S if [ $? -ne 0 ];then let i=i+1 else let i=0 fi if [ $i -ge 3 ];then echo $(date) "re-dialing..." sudo poff dsl-provider >/dev/null 2>&1 sleep 5 sudo pon dsl-provider >/dev/null 2>&1 let i=0 fi hour=$(date "+%H") if [ $hour -ge 19 -a $hour -le 23 ];then sleep 5 else sleep 60 fi done |
Source: https://gist.github.com/fangdingjun/5ad7578f7dcb93a13303