Changeset 3621 in MondoRescue for branches/3.3/mindi-busybox/examples/var_service/dhcp_if_pinger/run
- Timestamp:
- Dec 20, 2016, 4:07:32 PM (7 years ago)
- Location:
- branches/3.3
- Files:
-
- 1 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/3.3/mindi-busybox/examples/var_service/dhcp_if_pinger/run
r2725 r3621 1 1 #!/bin/sh 2 2 3 delay=67 4 3 # How often to test, seconds 4 ping_time=67 5 # "One ping, must have reply in 1 sec" 6 ping_opts="-c1 -W1 -w1" 7 # If ping failed, how soon to retry 8 retry_time=5 9 # Reinit after this many consecutive ping error 10 max_fail=5 11 # Interface whose DHCP data to use 5 12 if=${PWD##*/dhcp_} 6 13 if=${if%%_pinger} 14 15 msg() { 16 echo "`date '+%Y-%m-%d %H:%M:%S'` $*" >>"$0.log" 17 } 7 18 8 19 if test -f "$0.log"; then … … 11 22 fi 12 23 13 test -f "/var/service/dhcp_$if/dhcp_$if.out" || exec env - sleep "$delay" 14 . "/var/service/dhcp_$if/dhcp_$if.out" 15 test x"$router" != x"" || exec env - sleep "$delay" 24 test -f "/var/service/dhcp_$if/env.out" || exec env - sleep "$ping_time" 16 25 17 #echo "`date '+%Y-%m-%d %H:%M:%S'` Testing ping -c3 $router" >>"$0.log"18 ping -c3 "$router" && exec env - sleep "$delay"26 . "/var/service/dhcp_$if/env.out" 27 test x"$router" != x"" || exec env - sleep "$ping_time" 19 28 20 echo "`date '+%Y-%m-%d %H:%M:%S'` Restarting /var/service/dhcp_$if" >>"$0.log" 21 sv t "/var/service/dhcp_$if" 29 #msg "Pinging $router" 30 failcnt=0 31 while true; do 32 ping $ping_opts "$router" && exec env - sleep "$ping_time" 33 : $((failcnt++)) 34 msg "Failed to ping $router, fail count:$failcnt" 35 test $failcnt -ge $max_fail && break 36 env - sleep "$retry_time" 37 done 22 38 23 exec env - sleep "$delay" 39 test -d "/var/service/dhcp_$if" && { 40 msg "Restarting /var/service/dhcp_$if" 41 sv t "/var/service/dhcp_$if" 42 } 43 test -d "/var/service/supplicant_$if" && { 44 msg "Restarting /var/service/supplicant_$if" 45 sv t "/var/service/supplicant_$if" 46 } 47 exec env - sleep "$ping_time"
Note:
See TracChangeset
for help on using the changeset viewer.