SINOPSIS
logrotate [-dv] [-s|--archivo de estado] archivo_de_configuración+DESCRIPCIÓN
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.
OPCIONES
- -d
-
Activa el modo de depuración e implica -v. En modo de depuración, no se
efectuará ningún cambio a los archivos de registro ni al archivo de estado de
logrotate.
- --usage
-
Muestra un pequeño mensaje de uso, versión y copyright.
ARCHIVO DE CONFIGURACIÓN
logrotate lee toda la información necesaria sobre los archivos de registro que debe manejar de la serie de archivos de configuración que se especifiquen en la línea de comandos. Cada archivo de configuración puede establecer opciones globales (las definiciones locales anulan a las globales, y aquellas definiciones efectuadas en último lugar anulan siempre a las anteriores) y especificar el archivo de registro que se ha de cambiar. Un archivo de configuración simple sería el siguiente:
# sample logrotate configuration file errors [email protected] compress /var/log/messages { rotate 5 weekly postrotate /sbin/killall -HUP syslogd endscript } /var/log/httpd/access.log { rotate 5 mail [email protected] errors [email protected] size=100k postrotate /sbin/killall -HUP httpd endscript } /var/log/news/* { monthly rotate 2 errors [email protected] postrotate kill -HUP `cat /var/run/inn.pid` endscript nocompress }
Las primeras líneas establecen opciones globales; cualquier error que ocurra durante el procesamiento de los archivos de registro se envía por correo a sysadmin.org y los archivos de registro se comprimen después de ser cambiados. Nótese que pueden aparecer comentarios en cualquier parte del archivo de configuración siempre y cuando el primer espacio que no está en blanco en la línea sea un #.
La siguiente sección del archivo de configuración especifica la acción a realizar sobre el archivo de registro /var/log/messages. El archivo sufrirá cinco cambios semanales antes de ser eliminado. Después de que el archivo ha sido modificado (pero antes de haberse comprimido la versión antigua del mismo) se ejecutará el comando /sbin/killall -HUP syslogd.
La siguiente sección define los parámetros de /var/log/http/access.log. Éste se cambia siempre y cuando excede los 100k de tamaño, y los archivos de registro antiguos se envían (sin comprimir) a [email protected] después de haber sufrido cinco cambios, en vez de ser eliminados. Del mismo modo, cualquier error que pueda ocurrir durante el procesamiento del archivo de registro se envía a [email protected] (anulando así la directiva global errors)
La última sección define los parámetros para todos lo archivos en /var/log/news. Cada archivo se cambia mensualmente y los errores se envían a [email protected].Ésta se considera una directiva de cambio simple y si ocurre un error para más de un archivo se envía en un único mensaje. En este caso, los archivos de registro no se comprimirán.
A continuación se proporciona más información sobre las directivas que se pueden incluir en un archivo de configuración de logrotate:
- compress
-
Las versiones antiguas de los archivos de registro se comprimen con
gzip. Véase también nocompress.
- copytruncate
-
Trunca el archivo de registro original en el lugar en el que se encuentre tras
crear una copia, en vez de mover el archivo antiguo y crear una nuevo
opcionalmente. Se puede usar cuando a algún programa no se le puede ordenar
que cierre su archivo de registro y por lo tanto podría seguir escribiendo
(añadiendo) continuamente en el archivo de registro anterior. Nótese que
transcurre una fracción de tiempo muy pequeña entre el copiado del archivo y
su truncado, por lo que se podrían perder algunos datos.
Cuando se usa esta opción, no tendrá efecto la opción create, dado que
el archivo antiguo permanecerá en su lugar.
- create mode owner group
-
Se crea el archivo de registro (con el mismo nombre del archivo de registro
que se acaba de rotar) inmediatamente después del cambio (antes de que se
ejecute el script postrotate). mode especifica el modo del archivo
de registro en octal (al igual que chmod (2)), owner especifica el
nombre del usuario al que pertenecerá el archivo de registro, y group
especifica el grupo al que pertenecerá el archivo. Se puede omitir cualquiera
de los atributos del archivo de registro, en cuyo caso, el nuevo archivo usará
los valores del archivo antiguo para aquellos atributos que se hayan omitido.
Esta opción se puede anular usando la opción nocreate.
- daily
-
Los archivos de registro se cambian diariamente.
- delaycompress
-
Pospone la compresión del archivo 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 archivo de registro y podría continuar escribiendo en él durante
algún tiempo.
- errors address
-
Cualquier error que ocurra durante el procesamiento de los registros se
enviará a la dirección de correo que se especifique.
- ifempty
-
Cambia el archivo de registro incluso si está vacío, anulando la opción
notifempty (opción por defecto).
- include file_or_directory
- Lee el archivo dado como argumento como si se incluyese donde aparece la directiva include. Si se da un directorio, la mayoría de los archivos se leen antes de que continúe el procesamiento del archivo en el que se incluyen. Los únicos archivos que se ignoran son archivos que no son corrientes (tales como directorios y pipes con nombre) y aquellos archivos cuyos nombres terminan con una de las extensiones tabú según se especifica en la directiva tabooext. La directiva include puede no aparecer en la definición de un archivo de registro.
- monthly
-
Los archivos de registro se cambian la primera vez que se ejecuta
logrotate en un mes (normalmente el primer día del mes).
- nocompress
-
Las versiones antiguas de los archivos de registro no se comprimen con
gzip. Véase también compress.
- nocopytruncate
-
No trunca el archivo de registro original en el lugar en el que se encuentre
tras crear una copia. (Esto anula la opción copytruncate).
- nocreate
-
No se crean archivos de registro nuevos (esto anula la opción create).
- nodelaycompress
-
No pospone la compresión del archivo de registro anterior hasta el próximo
ciclo de cambio (esto anula la opción delaycompress).
- nomail
-
No envían los archivos de registro antiguos a ninguna dirección de correo.
- noolddir
-
Los archivos se cambian en el mismo directorio en el que el archivo reside
normalmente (esto anula la opción olddir).
- notifempty
-
No rota el archivo de registro si está vacío (esto anula la opción
ifempty).
- olddir directory
-
Los archivos de registro se mueven a directory para su rotación. El
directory debe encontrarse en el mismo dispositivo físico que el archivo
de registro que se va a cambiar. Cuando se usa esta opción, todas las
versiones antiguas del archivo de registro van a parar a directory. Esta
opción puede anularse por medio de la opción noolddir.
- postrotate/endscript
-
Las líneas entre postrotate y endscript (ambas deben aparecer en
líneas por separado) se ejecutan una vez que el archivo de registro ha sido
rotado. Estas directivas sólo pueden aparecer dentro de una definición de
archivo de registro.
Véase también prerotate.
- prerotate/endscript
-
Las líneas entre prerotate y endscript (ambas deben aparecer en
líneas por separado) se ejecutan una vez que el archivo de registro ha sido
rotado. Estas directivas sólo pueden aparecer dentro de una definición de
archivo de registro.
Véase también postrotate.
- rotate count
-
Los archivos de registro se cambian <count> veces antes de ser eliminados o
enviados a la dirección especificada en una directiva mail. Si
count es 0, las versiones antiguas se eliminarán en vez de ser cambiadas.
- size size
-
Los archivos de registro se cambian cuando superan el tamaño de size
bytes. Si a size 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.
- tabooext [+] list
-
Se cambia la lista actual de extensiones tabú (véase la directiva
include si se desea información sobre las extensiones tabú).
Si un + precede a la lista de extensiones, la lista actual de extensiones tabú
se aumenta, de otro modo se reemplaza. Al comienzo, la lista de extensiones
tabú contiene .rpmorig, .rpmsave, ,v y ~.
- weekly
-
Los archivos de registro se cambian si el día de la semana actual es menor que
el día de la semana del último cambio o si ha pasado más de una semana desde
el último cambio. Normalmente, esto es lo mismo que cambiar los archivos el
primer día de la semana, pero funciona mejor si logrotate no se ejecuta
todas las noches.