Una facil de bash
Quiero hacer ub script que me avise cuando se cae un PC, he pensado que debe ser algo asi: /* ======== INICIO =========== */ #/bin/bash ping -c 5 192.168.0.1 if( aparece la cadena "Destination Host Unreachable" ) { xmessage "Alerta PC Caido" } else { xmessage "BIEN PC funcionando" } /* ======== FIN ======== */ Pero como el bash no es mi fuere, no se como hacer para recoger las cadenas que devuelve el ping y compararlas en el if. Este script lo meterIa en el cron y lo lonazria cada 15 minutos. Gracias ______________________________________________ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por minuto. http://es.voice.yahoo.com
El Lunes, 6 de Febrero de 2006 13:50, A C escribió:
Quiero hacer ub script que me avise cuando se cae un PC, he pensado que debe ser algo asi:
/* ======== INICIO =========== */
#/bin/bash
Yo usaría nagios para eso ;-) -- ************************ Hugo Sandoval Consultor www.softwarelibre.com.ve www.virtualnet.com.ve ************************ <*******> HACKER Persona que disfruta del reto intelectual de superar o rodear las limitaciones de forma creativa... El resto es simple delincuencia. <*******>
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2006-02-06 a las 18:50 +0100, A C escribió:
Quiero hacer ub script que me avise cuando se cae un PC, he pensado que debe ser algo asi:
/* ======== INICIO =========== */
#/bin/bash
ping -c 5 192.168.0.1
if( aparece la cadena "Destination Host Unreachable" ) { xmessage "Alerta PC Caido" } else { xmessage "BIEN PC funcionando" }
/* ======== FIN ======== */
Usa fping, está pensado para scripts. Puedes analizar el codigo de retorno en el script, que es mucho más fácil: Exit status is 0 if all the hosts are reachable, 1 if some hosts were unreachable, 2 if any IP addresses were not found, 3 for invalid command line arguments, and 4 for a system call failure. Por ejemplo: #!/bin/bash if /usr/sbin/fping -q localhost ; then echo SI else echo NO fi Y en el manual tienes un ejemplo en perl. - -- Saludos Carlos Robinson -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFD59OntTMYHG2NR9URAqsTAKCGArIYYlJ0mtYyxM6vjUa7TxYKcwCcDXxz ls02jhJvXa7c40T8/QNKFwg= =5T5g -----END PGP SIGNATURE-----
COnsejo: Guarda el mensaje del ping en un fichero y luego podras jugar con el grep para buscar la cadena deseada. ALgo asi como: /* ======== INICIO =========== */ #/bin/bash ping -c 5 192.168.0.1 > fichero-destino.txt palabra = grep Unreachable fichero-destino.txt /*NOTA: La sintaxis posiblemente no sea correcta, pues no me acuerdo mucho de como se hacia */ if (palabra==NULL) /* Otra sintaxis posiblemente equivocada */ { xmessage "PC funcionando") if (palabra==unreachable) { xmessage "PC jodido" Evidentemente hay muchos errores cometidos aqui, pues hace tiempo que no programo, ademas, creo que estoy mezclando bash con C, pero al menos la idea se entiende, no? Ale, suerte. El Lunes 06 Febrero 2006 18:50, A C escribió:
Quiero hacer ub script que me avise cuando se cae un PC, he pensado que debe ser algo asi:
/* ======== INICIO =========== */
#/bin/bash
ping -c 5 192.168.0.1
if( aparece la cadena "Destination Host Unreachable" ) { xmessage "Alerta PC Caido" } else { xmessage "BIEN PC funcionando" }
/* ======== FIN ======== */
Pero como el bash no es mi fuere, no se como hacer para recoger las cadenas que devuelve el ping y compararlas en el if.
Este script lo meterIa en el cron y lo lonazria cada 15 minutos.
Gracias
______________________________________________ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por minuto. http://es.voice.yahoo.com
participants (4)
-
A C
-
Carlos E. R.
-
fonseka
-
Hugo Sandoval