while ! ping -W 1 -c 4 www.google.com >& /dev/null ||
! ping -W 1 -c 4 www.yahoo.com >& /dev/null; do
sleep 600
done
Embora eu apenas teste a conectividade com um endereço IP; 8.8.8.8 é o servidor DNS público do Google (tem disponibilidade muito alta). Testar se o DNS funciona não é confiável, porque a entrada pode estar no cache.
while ! ping -W 1 -c 1 8.8.8.8 >&/dev/null; do sleep 600; done
O ping nem sempre é a melhor maneira de verificar a conectividade com a Internet. Muitos lugares (especialmente redes corporativas) bloqueiam todos, menos o acesso à web. Você pode testar se a Web está funcionando baixando um arquivo de um servidor de alta disponibilidade. Isso também testa o DNS, pelo menos do ponto de vista do proxy HTTP (o que novamente é o que importa).
while ! wget -q -O /dev/null --no-cache http://www.google.com/; do sleep 6000; done