14/9/15

Comprobar si estamos conectados a internet en Bash.


La función de este código es sencilla. Nos será util en con scripts que requieran conexión a internet. Sencillamente hace una llamada a Google.com (podria ser cualquier página existente), enviando un paquete (-c1) y obtenemos la salida de ping a /dev/null
#!/bin/bash

if ping -c1 google.com &>/dev/null;
then
echo "Conexión a internet OK.";
else
echo "No hay conexión.";
fi
Hasta aqui bien, pero y si además necesitamos que se ejecute de nuevo hasta estar conectados? Bien, en ese caso cambiaremos el código por:
#!/bin/bash

# Comprobamos conexión cada 10 segundos.
until ping -c1 google.com &>/dev/null
do
echo "No hay conexión. Reintentando en 5 segundos..."
sleep 5
done
# Hay conexión!
echo "Conexión a internet OK";
De esta forma ejecutaremos el script cada 10 segundos hasta que estemos conectados.
Hasta pronto!

0 comentarios:

Publicar un comentario