mardi 7 mars 2017

Bash continue only if ping is down

I'm trying to create a script which will only continue when pinging is unresponsive.

I'm running into 2 main issues. One being that it will require 2 CTL-C commands to end the script, and the other issue being that the script will never end and will need killing.

Here are my attempts;

rc=0
until [ $rc -gt 0 ]
do
      ping 69.69.69.69 > /dev/null 2>&1
      rc=$?
done

## Here will be the rest of code to be executed

I feel this one above is very close as it requires the 2 CTL-C commands and continues. Here is something I found on SO but can't get to work at all.

counter=0
while [ true ]
do
  ping -c 1 69.69.69.69 > /dev/null 2>&1
    if [ $? -ne 0 ] then
        let "counter +=1"
    else
        let "counter = 0"
    fi
    if [ $counter -eq 10 ] then
        echo "Here should be executed once pinging is down"
    fi
done

Any assistance is greatly appreciated, Thank you.

Aucun commentaire:

Enregistrer un commentaire