Rotar logs en Gentoo Linux con logrotate


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.

compartelo en tu red social:
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • BarraPunto
  • Bitacoras.com
  • Live
  • MySpace
  • Scoopeo
  • Technorati
  • Meneame

, , , , ,

  1. No hay Comentarios

Debe estar registrado para comentar en esta entrada.