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

Re: Sacar registros a partir de una fecha.



 --- Pablo Braulio <brulics@gmail.com> escribió:

> 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
> 

Tambien puedes usar algo ya creado, aunque no se que
tal va : http://iptablelog.sourceforge.net/

otra solución a tu problema si quieres hacerlo tu, es
olvidarse de sacar los registros por hora y usar un
tail -f /var/log/syslog. Con esto te salen
automaticamente las líneas que se van añadiendo al
syslog.



		
______________________________________________ 
Renovamos el Correo Yahoo! 
Nuevos servicios, más seguridad 
http://correo.yahoo.es



Reply to: