[ AYUDA ] Con un Script de Shell

Buenas, estoy haciendo una cosa para el curro, y tengo un atasco...

Resulta que tengo que tomar los datos que me devuelve un comando de "snmp", de hay solo me interesa un valor, hasta aqui, bien.

El tema esque ese valor lo tengo que guardar en un fichero, y comparar ese valor con la ultima vez que se comprobo, como esto ira en un cron, pues tiene que calcular la diferencia de ese valor, entre la ultima vez que se consulto y la actual, y el resultado, comprobarlo con un lmite que hay establecido en una variable.

Se tiene que quedar eso registrado en un fichero, que diariamente se realizara un backup, esta parte ya esta implementada en el script y hace el backup en un servidor remoto de forma automatica.

Alguna idea?¿

saludos y gracias de antemano
pues con substr, usando awk, cut.... podemos parsear la salida de snmp y obtener el dato que queramos.

Para obtener la ultima linea... nose si hay algun comando.. pero siempre puedes leer el fichero...
while read linea
do
echo "$linea"
done < "fichero"


guardar valor... echo $valor >>fichero

Restar valores... pues como se resta...
-----------------------
Lo siento si soy poco preciso, pero todo lo que has preguntado se encuentra en un momento en google.
Para la última línea: tail -1 fichero
amuchamu escribió:Para la última línea: tail -1 fichero


ouch!! siempre me olvido de tail
Os pongo una parte del codigo, para que lo veais mejor.

Esta seria una de las variables de donde tomar los valores del resultado.
ROJO1=`snmpget -v 2c -c public <PPX_node> valor`

El tema esque de aqui, ademas de lo que me interesa, sale mas cosas.. que no me interesan.

Asi esta puesto ahora, son unas pruebas, no es definitivo
if [ $ROJO1 -qe $LIMITE ]
   then
      FLAG=1
      echo ">> Hay Alarmas en el nodo: $NODO_ROJO1"
      echo "Hay Alarmas en el nodo: $NODO_ROJO1" >> $FILEFINAL
      else
         echo
         echo ">> No hay alarmas en el nodo: $NODO_ROJO1"
fi

El tema esque tiene que guardar el valor de la variable $PRUEBAS1 en un fichero temporal, luego la proxima vez que guarde un nuevo valor, guardarlo en el mismo fichero, y asi sucesivamente, pero calcular la diferencia entre los 2 valores, el anterior tomado y el actual, puede ser suma o resta, la primera vez puede guardar un 5 por ejemplo y la segunda un 8 como un 1, calcular esa diferencia con el valor de la variable $LIMITE, si es igual al valor de esa variable o superior, realizar pues unas acciones, que no, pues nada.. mensaje de que esta todo OK, y listo.
¿Puedes postear aquí la salida de snmpget o bien mandarmela a mi?

- Para guardiar la variable: echo $VARIABLE > fichero

Luego lo de la resta no lo entiendo muy bien. ¿Lo que buscas es que te guarde pongamos un 5 en fichero, la proxima ejecución genere un 4 y qué haces, los sumas o los restas?. Creo que con un if y lo que te de esa operación, lo comparas con $LIMITE y o te lo guarda en el fichero o te muestra el mensaje de "ok". Pero vamos que como no lo expliques mejor poco te puedo ayudar.

salu2
5 respuestas