Apartamento En Familia

Apartamento En Familia
Apartamento de playa para vacaciones. http://www.apartamentoenfamilia.es. Número registro HUTT-005768

miércoles, 19 de mayo de 2010

Logrotate para mantener nuestros logs ordenados.


Logrotate ha sido diseñado para facilitar la administración de sistemas que generan gran cantidad de archivos de registro (logs). El programa permite el cambio, compresión, eliminación y envío automático por correo de los archivos de registro. Cada archivo puede ser tratado diariamente, semanalmente, mensualmente o siempre que se haga demasiado grande. 

Normalmente, logrotate se ejecuta como tarea diaria de tipo cron. El programa no modificará un archivo repetidas veces a no ser que el criterio para ese archivo se base en el tamaño del mismo y logrotate se ejecute varias veces al día.

En la línea de comandos pueden indicarse un número ilimitado de archivos de configuración. Más tarde, estos archivos de configuración pueden invalidar las opciones dadas en archivos de configuración anteriores, por lo tanto, el orden en que se listan los archivos de configuración de logrotate es muy importante. Normalmente, debería usarse un sólo archivo de configuración que incluya tantos otros archivos de configuración como sean necesarios. Véase más abajo cómo usar la directiva include para conseguirlo. Si se proporciona un nombre de directorio en la línea de comandos, cada uno de los archivos que se encuentren en ese directorio se usará como archivo de configuración.

(Fuente es.tldp.org)

Este sería un ejemplo de configuración de nuestro logrotate (normalmente /etc/logrotate.conf aunque se pueden especificar múltiples archivos de configuración en /etc/logrotate.d/) en donde rota el archivo /var/log/messages cada semana, mantiene 5 versiones del archivo y notifica al syslogd cada vez que el archivo es reseteado.El archivo de log de samba tambien se rota semanalmente, pero en vez de guardarse y reiniciarlo, se copia y se trunca. Una vez que se ha rotado el log, se envía una señal HUP al demonio de samba.

# Example log rotation policy
errors logadmin@logadmin.net
rotate 5
weekly

/var/log/messages {
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid`
endscript
}

/var/log/samba/*.log {
notifyempty
copytruncate
sharedscripts 
postrotate
/bin/kill -HUP `/var/lock/samba/*.pid`
endscript
}
Para tener funcionando logrotate en nuestro servidor:

1-. Instalar el programa logrotate:
apt-get install logrotate

2-. Crear o comprobar que tenemos las carpetas y ficheros necesarios:
mkdir -p /var/lib/logrotate/
touch /var/lib/logrotate/status
mkdir -p /etc/logrotate.d/

3-. Crear el fichero logrotate.conf:
vi /etc/logrotate.conf

That u don't know what you've got 'til it's gone