Necesitaba reiniciar una PC en caso de que esta perdiera conectividad, lo que se conoce como «watchdog» – (perro guardián), así que a falta de conocimientos de programación, google de por medio, encontré este escript que transcribo mas abajo, ligeramente adaptado para que cumpla con esta función, ya que el original en realidad envíaba un email avisando del incidente:
#!/bin/sh### Comprobar conectividad cada 60 segundoswhile sleep 60dofor ip in 192.168.1.100 192.168.1.102 192.168.0.7doif ping -c 1 -t 2 $ip >/dev/nullthenecho «$ip da OK»elseecho «$ip perdió un paquete»## Esperar 10 segundos y probar de nuevosleep 10if ! ping -c 1 -t 2 $ip >/dev/nullthenecho «$ip perdió dos paquetes, reiniciando…»rebootfifidonedone 2>&1
Lo he guardado como /usr/bin/watchdog y lo he convertido en ejecutable con el comando:
chmod +x /usr/bin/watchdog
Funciona a la perfección. Se podría adaptar para cualquier otro uso, por ejemplo, que en lugar de reiniciar la PC reinicie la conexión de red únicamente, o que registre las desconexiones, etc, etc.
Me lo dejo de ayuda memoria y se los dejo por si le viene bien a alguien.
Te cuento que te leo en Alt-Tab y en maldido nerd, todos los articulos son muy buenos por lo tecnico y por la forma amena de narrar este es un excelente Tip desde hace rato busco algo similar, lo ideal es que generara una llamada a un celular para dar aviso. Como se haria?
No sabría indicarte con exactitud por que nunca he intentado, sumado esto al hecho de que la situación varía de país en país dependiendo de la disponibilidad de tu proveedor de telefonía celular (Colombia, ¿No?) pero una búsqueda rápida en mi gestor de paquetes me tira todas estas posibilidades, que aparentemente son aplicaciones que justamente cumplen esa función: Enviar SMS desde LInux:
~ # eix sms
* app-misc/pysmssend
Available versions: 1.45 {qt4}
Homepage: http://pysmssend.silverarrow.org/
Description: Python Application for sending sms over multiple ISPs
* app-mobilephone/esms
Available versions: 0.9.5
Homepage: http://esms.sourceforge.net
Description: A small console program to send SMS messages to Spanish cellular phones
* app-mobilephone/galicesms
Available versions: ~1.62
Homepage: http://www.marzocca.net/linux/galicesms.html
Description: GTK2 GUI interface for sending SMS messages via Rosso Alice (Italian ADSL service)
* app-mobilephone/linuxsms
Available versions: 0.77
Homepage: http://linuxsms.sourceforge.net/
Description: A console perl script for sending SMS to cell phones
* app-mobilephone/pysms
Available versions: ~0.9.4!t
Homepage: http://pysms.sourceforge.net/
Description: Tool for sending text messages for various Swiss providers
* app-mobilephone/sms
Available versions: 2.0.3 ~2.1.0
Homepage: http://ceti.pl/~miki/komputery/sms.html
Description: Command line program for sending SMS to Polish GSM mobile phone users
* app-mobilephone/smsclient
Available versions: ~2.0.9a-r1
Homepage: http://www.smsclient.org
Description: Utility to send SMS messages to mobile phones and pagers.
* app-mobilephone/smssend
Available versions: 3.4
Homepage: None available
Description: Universal SMS sender
* app-mobilephone/smstools
Available versions: ~2.2.20 {stats}
Homepage: http://smstools.meinemullemaus.de/
Description: Send and receive short messages through GSM modems
A ver si te sirve al menos como la punta del ovillo. Algún día voy a hacer algunos experimentos al respecto, postearé los resultados. Gracias, me alegra que encuentres de utilidad deste blog.
¡Saludos!
Si vivo en Colombia con decirte que tengo tu pagina en mis paginas de predileccion y de mis clientes, http://www.tallernet.com en unos dias tambien pondre maldito nerd.
Tomando el tema de la llamada no es necesaario enviar un sms solo con recibir una llamada y ver el numero del Celular ayuda. Te digo esto porque no estudie nada de Computadores todo es empirico e investigando he hecho una red inahalambrica y vendo internet a los vecinos y visitantes de Cartagena, tengo servidor linux y para el hotspot uso MONOWALL.
Saludos
En ese caso la cosa se simplifica bastante. Con que le pongas un viejo modem (que seguramente alguno tendrás tirado por ahí) a esa PC y le des soporte para el mismo al kernel.
Hacer que el modem disque el número de teléfono 112233445566 por ejemplo, es tan simple como ejecutar en una consola:
echo «ATDT112233445566» > /dev/ttySX
Dónde X es el número de puerto serial al que estuviera asociado.
Reemplaza en donde dice «reboot» en el script de mas arriba por este otro comando y tu modem te llamará por teléfono para avisarte de que tiene algún inconveniente.
¡Saludos!
Te estare contando
Ante todo te agradezco de nuevo por el script, en proximas horas estara en funcionamiento, hice algunos pequeños cambios y quedo asi:
#!/bin/sh
### Comprobar conectividad cada 5 minutos
while sleep 1
do
for ip in 192.168.200.1 192.168.200.11
do
if ping -c 1 -t 3 $ip >/dev/null
then
echo «$ip Ping da OK»
else
echo «$ip Perdió un paquete»
## Esperar 10 segundos y probar de nuevo
sleep 20
if ! ping -c 1 -t 3 $ip >/dev/null
then
echo «$ip perdio dos paquetes, LLAMANDO»
echo «ATDW,,033162512327» > /dev/ttySx
exit
fi
fi
done
done 2>&1
Lo unico que modifique fue cambiar el
echo “ATDT,,033162512327″ > /dev/ttySX
por
echo «ATDW,,033162512327» > /dev/ttySx
se cambio la «T» por la «W» esto hace que el fax llame y suene 3 veces y cuelgue, por que anteriormente sucedia que si yo no contestaba lo hacia el contestador del celular generando una llamada, lo cual por lo menos aqui en Colombia son llamadas costosisimas.
Y anexe un exit que termina el script y lo puse en que lo ejecute un cron, como el servidor tiene dos tarjetas WAN y LAN hice dos cron que se ejecutan en dos momentos diferentes el que prueba la WAN empieza y en las horas terminadas en 0 Ej.:10:10 y la que prueba la LAN se ejecuta en horas terminadas en 5 Ej.: 10:55.
Gracias