Estoy tratando de realizar un script en la empresa donde estoy de practicas, y mi talon de aquiles es la programacion
Se trata de un script que lance un plugin en perl para Nagios, y dependiendo del texto resultante de la ejecucion de ese plugin, dar un valor de salida "exit 0" o "exit 2" acompañado de un texto a poder ser
Especifico, si en el texto resultante de la ejecucion del PLUGIN existe la palabra CRITICAL solo 1 vez, el script deberia dar "exit 0" y un texto en plan "Tranquilos, todo va bien".
En cambio, si en dicho texto existe la palabra CRITICAL mas de una vez, acabar con "exit 2" mas texto acompañante de alerta
Para aclarar, el valor 0 le dice a nagios que el servicio chequeado esta OK, el 2 le dice que pinte CRITICAL
La putada es que no puedo probar la ejecucion del script "al vuelo" indefinidamente, pues la maquina esta en proceso supervisando servicios criticos de produccion, por lo tanto necesito minimizar los intentos fallidos al minimo
Se que para contabilizar el las palabras puedo usar grep CRITICAL -c
Pero poco mas....
Voy modificando este script que usan ellos que hace algo parecido, pero no lo entiendo del todo:
#!/bin/bash
Código
Cualquier ayuda sera muy agradecida!!
PROG=/usr/local/nagios/libexec/check_mssql_health HOST=$1 FILE=/tmp/check_mssqlhealth$1.txt OK=$2 $PROG $HOST > $FILE grep CRITICAL -c $OK $FILE if [ $? -eq 1 ] ; then echo "OK!" exit 0 else echo "ERROR!" exit 2 fi
Muchas gracias de antemano!