Пингайте разовыми пингами и проверяйте код возврата в переменной $?: 0 успех, не 0 - ошибка связи.
ping mysite.com -c 1
echo $?
После обсуждения в камментах, вот вам скрипт помощнее:
declare -i failcount=0
status="OK"
while true: do
if ping mysite.com -c 1; then
if [ "$status" == "FAIL" ]; then
echo "Network is restored"
curl -X GET -k "https://api.telegram.org/bot1938&text=Connection_is_restored";
status="OK"
fi
failcount=0
else
failcount+=1
if [ "$status" == "OK" ] && [ $failcount -gt 60 ] ; then
echo "Network is unavailable for 60 seconds!!!"
curl -X GET -k "https://api.telegram.org/bot1938&text=Connection_broken_for_60_seconds";
status="FAIL"
fi
fi
done