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>