Archivo etiqueta logrotate
Rotar logs en Gentoo Linux con logrotate
Por admin - Administración, Linux - Domingo, 29 Marzo 2009
Logrotate nos facilita la administración de aquellos sistemas que generen un gran número de archivos de registro. Permite seleccionar el tipo de rotación, compresión, eliminación, e incluso el envío por correo de archivos de registro. Cada uno de estos archivos de registro pueden ser creados diariamente, semanalmente, mensualmente o cuando son demasiados voluminosos.
El fichero de configuración de logrotate lo podemos localizar en /etc/logrotate.conf
# Ficheros de configuración para Gentoo Linux
# Ver man logrotate para más detalles
# Rotar logs semanalmente
weekly
#daily
# mantener 4 semanas los logs
rotate 4
# crear nuevos logs despues de rotar los viejos
create
# los ficheros se comprimirán para ahorrar espacio
compress
# ficheros a incluir en la rotación de logs
include /etc/logrotate.d
notifempty
nomail
noolddir
/var/log/wtmp {
monthly
create 0664 root utmp
rotate 1
}
El directorio donde están especificados todos los ficheros que harán rotación de logs están en el directorio /etc/logrorate.d/
drwxr-xr-x 2 root root 4096 mar 27 13:12 . drwxr-xr-x 48 root root 4096 mar 29 20:40 .. -rw-r--r-- 1 root root 173 feb 26 2008 apache -rw-r--r-- 1 root root 159 jun 2 2006 clamav -rw-r--r-- 1 root root 310 feb 26 2008 elog-save-summary -rw-r--r-- 1 root root 74 jun 2 2006 emerge -rw-r--r-- 1 root root 453 abr 8 2008 mysql -rw-r--r-- 1 root root 85 mar 27 13:12 procmail -rw-r--r-- 1 root root 478 jun 2 2006 syslog-ng -rw-r--r-- 1 root root 221 jun 2 2006 webmin
Para comprobar su funcionamiento lo primero que hice fué crearme un fichero para rotar el procmail.log ya que este me ocupaba demasiado espacio en disco. Para ello me cree un fichero llamado /etc/logrotate.d/procmail y le indiqué que deseaba rotar /var/log/procmail.log semalmente y guardar 4 semanas de registros.
/var/log/procmail.log {
weekly
rotate 4
copytruncate
compress
notifempty
missingok
}
Podemos indicarle que ejecute un comando post-rotación de la siguiente manera:
/var/log/procmail.log {
weekly
rotate 4
copytruncate
compress
notifempty
missingok
postrotate
/etc/init.d/qmail restart
endscript
}
Para comprobar que logrotate está funcionando correctamente ejecutamos las siguientes lineas.
# debug mode /usr/sbin/logrotate -d /etc/logrotate.conf # fuerza la rotacion de logs /usr/sbin/logrotate -f /etc/logrotate.conf
En Gentoo Linux el propio cron dentro de sus tareas diarias en /etc/cron.daily/ ya tiene configurado la rotación de logs por lo que no tendremos que hacer nada más para que todo funcione correctamente.