Dans mes scripts bash, j'ai utilisé quelque chose comme :
until fping -u google.com; do echo "$0[$$] Network/DNS down?? $(date)" 1>&2 && sleep $(($RANDOM%(1 + ++trynum * 1) +1)).222; done
pour tester la connectivité en ligne.
Il s'arrête sur place, dormant à intervalles aléatoires, jusqu'à ce qu'il puisse à nouveau envoyer un ping à google.com.
Problème : Sur certains réseaux locaux, les pings ICMP sont totalement bloqués, bien que les pages web restent accessibles. Quel est le moyen le plus court de tester ce cas général (pare-feu vers l'extérieur) ?
Sur la base de ce test, je passerai à un test basé sur http, comme l'état de sortie de
curl -s google.com >/dev/null
si elle est bonne.