Logrotate – Rotación de Logs

Para realizar la rotación de un log mediante la herramienta logrotate, debemos crear un fichero en el directorio /etc/logrotate.d/ el cual contendrá la ubicación del log y los parámetros que determinan cómo rotará

Un ejemplo para hacer la rotación de un log puede ser la siguiente:

Creamos un fichero en la ubicación /etc/logrotate.d/ con un nombre asociado al log:

$ vim /etc/logrotate.d/dovecot

En él le indicaremos la ubicación del log que queremos que rote y los parámetros:

/var/log/dovecot.info{
weekly
create 0600 root root
compress
rotate 5
}

Salvamos los cambios, y forzamos la ejecución de logrotate para comprobar que nuestro log ha creado un nuevo log y conserva el anterior:

 logrotate /etc/logrotate.conf -f

De esta forma, irá manteniendo logs anteriores al vigente hasta llegar al límite que imponga alguno de parámetros para ir borrando el último y así no llenar el disco con logs de mucho tamaño.

Parámetros

Parámetros de /etc/logrotate.conf o de los ficheros del directorio /etc/logrotate.d/ que determinan la forma de rotar los ficheros de log:

create permisos propietario grupo

ejemplo: create 600 usuario grupo

Crea el fichero de registro donde 600 especifica los permisos del fichero de registro en octal, usuario especifica el nombre del usuario al que pertenecerá el fichero de registro, y group especifica el grupo. Se puede omitir cualquiera de los atributos del fichero de registro, en cuyo caso, el nuevo fichero usará los valores del fichero antiguo para aquellos atributos que se hayan omitido. Esta opción se anula usando la opción nocreate.

Parámetros temporales de rotación. Sólo debe haber uno de los 3 siguientes:

daily: Los ficheros de log rotan diariamente.

Weekly: los ficheros de log rotan semanalmente.

Monthly: los ficheros de log rotan mensualmente.

dateext

Si especificamos esta opción se añadirá a los logs rotados la fecha de rotación en lugar de denominarlo con el nombre más  .1 .2. .3  etc.

compress

Las versiones antiguas de los ficheros de registro se comprimen con gzip.

nocompress

se utiliza cuando no se desea comprimir los ficheros de registro rotados.

delaycompress

Pospone la compresión del fichero de registro anterior hasta el siguiente ciclo de rotación. Sólo tiene efecto cuando se usa en combinación con compress. Se puede usar cuando no se puede ordenar a un programa que cierre su fichero de registro y podría continuar escribiendo en él durante algún tiempo.

rotate n

ejemplo: rotate 5

Los ficheros de registro se cambian n veces antes de ser eliminados o enviados a la dirección especificada en una directiva mail. En caso de n ser 0, las versiones antiguas se eliminarán en vez de ser cambiadas.

size n

Los ficheros de registro se cambian cuando superan el tamaño de n bytes. Si a n le sigue M, se asume que se está indicando el tamaño en Megabytes. Si se usa k, el tamaño será en kilobytes. Por lo tanto son válidos tanto size 100, como size 100k y size 100M.

missingok

Si faltan ficheros de log, no genera error.

copytruncate

Se utiliza cuando los procesos siguen escribiendo información para abrir ficheros de registro. Esta opción copia el fichero de anotaciones cronológicas activo para una copia de seguridad y secciona el fichero de registro activo.

nocopytruncate

Copia los ficheros de registro de copia de seguridad, pero el fichero de registro abierto no se trunca. De este modo gira el fichero de registro y se crea un nuevo fichero de registro con los permisos especificados, el propietario y grupo. El valor predeterminado utiliza el mismo modo, propietario y grupo que el fichero original.

NoCreate

Evita la creación de un nuevo fichero de registro. (esto anula la opción create).

ifempty

El fichero de registro rota incluso si el log está vacío. Este valor viene establecido por defecto en la configuración.

notifempty

Si el fichero de log está vacío, este no rotará

prerotate-postrotate y endscript (ambas deben aparecer en líneas por separado)

Determinan si queremos añadir una acción o desarrollo de un script, antes de realizar la rotación del fichero de log (prerotate), ó, una vez se haya rotado el fichero de log (postrotate), donde prerotate-postrotate indican el inicio de la acción, y en otra línea endscript determina el final de esa acción. Estas directivas sólo pueden aparecer dentro de una definición de un fichero de registro específico.

 

Anuncios

Deja un comentario...dicen que es gratis!

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s