Advertisement
Guest User

Untitled

a guest
Jan 7th, 2019
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.59 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. date=$(date +%h-%m@%H:%M)
  4. log=$PWD/network-status.log
  5.  
  6. function fail {
  7. cat /tmp/network-status >> $log
  8. echo $1 >> $log
  9. sleep 5
  10. shutdown -r 2
  11. exit 1
  12. }
  13.  
  14. function retry {
  15. local n=1
  16. local max=3
  17. local delay=300
  18. local date=$(date +%h-%m@%H:%M)
  19.  
  20. while true; do
  21. "$@" > /tmp/network-status && break || {
  22. if [[ $n -lt $max ]]; then
  23. ((n++))
  24. sleep $delay;
  25. else
  26. fail "The network failed after $n attempts on $date."
  27. fi
  28. }
  29. done
  30. }
  31.  
  32. retry ping -c 2 google.com
  33. echo "Network is up at $date" >> $log
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement