NOMBRE¶
Logrotate - cambia, comprime y envía por correo archivos de
registro del sistema.
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 sysadmin@my.org
compress
/var/log/messages {
rotate 5
weekly
postrotate
/sbin/killall -HUP syslogd
endscript
}
/var/log/httpd/access.log {
rotate 5
mail www@my.org
errors www@my.org
size=100k
postrotate
/sbin/killall -HUP httpd
endscript
}
/var/log/news/* {
monthly
rotate 2
errors newsadmin@my.org
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 www@my.org 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 www@my.org (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 newsadmin@my.org.É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.
VÉASE TAMBIÉN¶
gzip(1)
AUTOR¶
Erik Troan <ewt@redhat.com>