chuggerguy

upordown

Feb 8th, 2025 (edited)
23
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.17 KB | Software | 0 0
  1. #!/bin/bash
  2.  
  3. # The beep alias is actually in my .bashrc but I'll include it here
  4. alias beep='play 2>/dev/null -n synth 0.5 tri  1000.0'
  5.  
  6. nc -z google.com 80 2>/dev/null
  7. if [ $? == 0 ]; then
  8.    connectednow=1;
  9.    echo "connection was intially up @ approximately  $(date '+%r %m/%d/%Y')" >> ~/Desktop/connection.rpt
  10. else
  11.    connectednow=0;
  12.    echo "connection was intially down @ approximately  $(date '+%r %m/%d/%Y')" >> ~/Desktop/connection.rpt
  13. fi
  14.  
  15. connectedbefore=$connectednow
  16.  
  17. while [ 1 ]; do
  18.  
  19. nc -z google.com 80 2>/dev/null
  20. if [ $? == 0 ]; then connectednow=1; else connectednow=0; fi
  21.  
  22. if [ $connectednow != $connectedbefore ]; then
  23.    changedetected=1;
  24. else
  25.    changedetected=0;
  26. fi
  27.  
  28. if [ "$changedetected" == 1 ]; then
  29.    if [ "$connectednow" == 1 ]; then
  30.       echo "connection restored @ approximately  $(date '+%r %m/%d/%Y')" >> ~/Desktop/connection.rpt
  31.       beep;beep
  32.       connectedbefore=1
  33.    else
  34.       echo "connection lost @ approximately $(date '+%r %m/%d/%Y')" >> ~/Desktop/connection.rpt
  35.       beep;beep
  36.       connectedbefore=0
  37.    fi
  38. fi
  39.  
  40. # Random sleep probably not necessary but... just seemed friendlier.
  41. sleep $(shuf -i5-20 -n1)
  42.  
  43. done
  44.  
Advertisement
Add Comment
Please, Sign In to add comment