[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Sacar registros a partir de una fecha.



El Lunes, 14 de Noviembre de 2005 01:37, Ricardo Araoz escribió:
> Usas por ejemplo $((200 - 100)),
> Un ejemplo, para listar las ultimas 20 líneas de un log puedo hacer :
> # tail -20 /var/log/messages
> o tambien (lo he probado) ;
> # tail -$((125 - 105)) /var/log/messages
>
> Aplicá lo mismo a tu problema.
>
> Ricardo
>
> P.S. ; si funciona te agradecería mandes un mail diciendo cuál era tu
> problema exactamente y cómo fue la solución exacta. Ya que me podría servir
> y quiero archivarlo.... Gracias

Si que funciona, pero me queda una cuestión a resolver todavía. Cuando lo 
tenga del todo funcionando, prometo pegarlo para que lo puedas usar.(faltaría 
más). :-)

Hasta ahora lo tengo hecho para que se ejecute a cada hora (eso lo pongo en el 
cron). En una primera ejecución sacará todas las líneas del syslog. Contará 
las líneas totales del archivo y guardará este valor en un archivo.

En las sucesivas ejecuciones, hará la misma operación, pero le restará al 
valor de líneas totales del syslog, el número de líneas que tenía el archivo 
en la ejecución anterior. De ese modo y con ese valor hará el tail. Y así 
sucesivamente.

Con esto lo tenemos casi solucionado. Pero, a las 6:33 horas, los logs del 
syslog, son archivados y empiezan a generarse de nuevo.

Para corregir esto, comparo la cantidad de líneas de la ejecución anterior, 
con la cantidad de líneas actual. Si es menor, se ejecuta de modo normal 
(restando la cantidad anterior a la nueva), si es superior, cogerá el valor 0 
(pues en ese caso quiero decir que se han archivado los logs).

La comparación la hago así, pero todavía no me funciona bien.

# Comprobamos la existencia de archivo de líneas y comparamos los archivos.
lineas1=`cat $lineas`;
lineas2=`cat $lineas_temp`;

if [ ! -e $lineas ]; 
then
	lineas_total=0;	
elif [ $lineas1 =< $lineas2 ];
	then
		lineas_total=`cat $lineas`;
	else
		lineas_total=0;
fi

-- 
Saludos.
Pablo.

Fingerprint 5607 40CF 45EF D490 B794  5056 D7B2 C3DC ABF1 CE49
Jabber: bruli(at)myjabber(dot)net

Attachment: pgp3x4jX6ZYPb.pgp
Description: PGP signature


Reply to: