--- Pablo Braulio <[EMAIL PROTECTED]> 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 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

