Logs y tail

Alvaro Herrera alvherre en alvh.no-ip.org
Mar Jun 26 10:37:09 CLT 2007


Ricardo Utreras Estrella escribió:

> El /var/log/secure era solo un ejemplo, pero la duda que tengo aplica a 
> todo archivo de log, y como todo archivo de log, a este se le van 
> agregando lineas al final y son estas lineas las que necesito ir dejando 
> en un archivo temporal mientras no se le agregan mas lineas al log. 
> Cuando se agregen mas lineas, estas queden en el archivo temporal y asi 
> sucesivamente...

Yo creo que no has pensado bien lo que estas pidiendo, o bien no nos has
especificado completamente el problema.  La pregunta que me surge es:
¿cada cuanto tiempo quieres hacer esto?  Porque podrias hacerlo cada
10 segundos, en cuyo caso el archivo temporal se reescribira cada 10
segundos.  ¿Es eso lo que quieres?  Significaria que para que sirva de
algo, tendria que haber un humano leyendo el archivo cada 10 segundos
... y no puede demorarse mas, porque en 10 segundos más habrá un nuevo
archivo!

En todo caso lo que quieres se puede hacer facilmente, teniendo un
script que haga lo siguiente:

while true; do
	> /tmp/archivo-temporal.log
	sleep <periodo>
	killall -HUP sysklogd
done

Luego configuras syslog para que guarde los mensajes en
/tmp/archivo-temporal.log ademas del destino original, por ej.

daemon.*                        -/var/log/daemon.log
daemon.*                        -/tmp/archivo-temporal.log

y asi para todas las lineas que te interesen.


Ojo, yo creo que esta es una idea muy mala.  Probablemente hay mejores
maneras de conseguir el efecto deseado.

-- 
Alvaro Herrera                 http://www.amazon.com/gp/registry/DXLWNGRJD34J
"I call it GNU/Linux. Except the GNU/ is silent." (Ben Reiter)


Más información sobre la lista de distribución Linux