Hoy me paso que tenia un enlace caido en un cliente y para enterarme en el momento que ese enlace vuelva a estar up hice esta pequeña aplicacion que comparto aqui:
Creo un archivo en /usr/local/bin con el nombre que quiera, por ejemplo test-enlaces (lo hago en esa ruta para ejecutarlo directo por el path)
Código:
#sudo nano /usr/local/bin/test-enlaces
y copio este codigo:
Código:
#!/bin/bash
if [ ! -z $1 ]
then
ping -c 2 $1
if [ v$? -eq 0 ] ; then
zenity --warning --text "*** El enalce $1 responde ***"
fi
else
echo "ERROR: Debe ingresar la IP"
echo "Uso: $0 <IP Address>"
fi
El $1 es la variable a la que asigna el primer argumento que le de.
Osea que podria pasar lo siguiente:
#test-enlaces argumento1 argumento2
y en el codigo va a ser:
$1= argumento1
$2= argumento2
Y asi podria tunearlo mas al programita.
Para darle permisos al archivo que lo pueda ejecutar sin permisos le hice directamente
Código:
#chmod 777 /usr/local/bin/test-enlaces
(Estos permisos son solo de ejemplo y no es necesario que sea 777, revisar el comando chmod para mas info sobre asignar permisos)
y lo ejecuto por su nombre y le paso el argumento que quiero seguido del nombre.
por ejemplo:
Código:
#test-enlaces 192.168.1.1
o
#test-enlaces routerventas
routerventas lo resuelve directamente por DNS.
Ahora, para dejarlo ejecutando con un timer para que lo haga periodicamente lo hago con el comando watch.
Código:
#watch -n 600 test-enlaces routerventas
El "-n 600" significa segundos => 10 minutos en este caso.
Espero que les sirva. A mi me vino barbaro para no dejar tirando ping todo el tiempo y estar mirando la salida del ping en consola.
Aca me avisa con un AlertBox y me entero en el momento.
Seguramente hay alguna forma mejor de hacerlo pero a mi me salio esta y me funciona. Ademas es esto lo que puntualmente necesitaba.
Si alguien lo quiere mejorar adelante.
No es que le vaya a servir mucho a nadie pero esta bueno ver como se pasan parametros y esas cosas, sirve para aprender algo tambien.
Gracias a Cristian que ya me aporto su acostumbrada ayuda.
Salu2