Está en la página 1de 13

logrotate está diseñado para facilitar la administración de sistemas que

generan una gran cantidad de registros


archivos. Permite la rotación, compresión, eliminación y envío
automático de archivos de registro.
Cada archivo de registro puede manejarse diariamente,
semanalmente, mensualmente o cuando crezca demasiado.

Normalmente, logrotate se ejecuta como un trabajo cron diario. No


modificará un registro más de una vez.
en un día a menos que el criterio para ese registro se base en el
tamaño del registro y el logrotate sea
siendo dirigido más de una vez al día, o menos que la -f o --force
se usa la opción.

Se puede proporcionar cualquier número de archivos de


configuración en la línea de comandos. Los archivos de configuración
posteriores pueden
anular las opciones dadas en archivos anteriores, por lo que el
orden en el que la configuración de logrotate
los archivos se enumeran es importante. Normalmente, un solo
archivo de configuración que incluye cualquier otro
Deben utilizarse los archivos de configuración necesarios.
Consulte a continuación para obtener más información sobre cómo
use la directiva include para lograr esto. Si se proporciona un
directorio en el comando
línea, cada archivo en ese directorio se usa como un archivo de
configuración.

Si no se proporcionan argumentos en la línea de comando,


logrotate imprimirá la versión y los derechos de autor
información, junto con un breve resumen de uso. Si ocurre algún
error al rotar los registros,
logrotate saldrá con un estado distinto de cero.

OPCIONES

-? , --ayuda
Imprime mensaje de ayuda.

-d , --debug
Active el modo de depuración, lo que significa que no se
realizan cambios en los registros y
El archivo de estado logrotate no se actualiza. Solo se
imprimen los mensajes de depuración.

-f , --force
Le dice a logrotate que fuerce la rotación, incluso si no
cree que esto sea necesario.
A veces, esto es útil después de agregar nuevas entradas a
un archivo de configuración logrotate , o si
los archivos de registro antiguos se han eliminado a mano,
ya que se crearán los nuevos archivos, y
el registro continuará correctamente.

-l , --log file
Le dice a logrotate que registre la salida detallada en
el log_file. La salida detallada registrada
a ese archivo es lo mismo que cuando se ejecuta logrotate
con -v switch. El archivo de registro es
sobrescrito en cada ejecución de logrotate.

-m , --mail command
Le dice a logrotate qué comando usar al enviar registros.
Este comando debe aceptar
los siguientes argumentos:

1) el asunto del mensaje dado con '-s asunto'


2) el destinatario.

El comando debe leer un mensaje en la entrada estándar y


enviarlo por correo
recipiente. El comando de correo predeterminado es / usr /
bin / mail .

-s , --state statefile
Le dice a logrotate que use un archivo de estado
alternativo. Esto es útil si logrotate es
se ejecuta como un usuario diferente para varios conjuntos
de archivos de registro. El estado predeterminado
el archivo es / var / lib / logrotate / status .

--uso
Imprime un breve mensaje de uso.

-v , --verbose
Activa el modo detallado, por ejemplo, para mostrar
mensajes durante la rotación.

ARCHIVO DE CONFIGURACIÓN

logrotate lee todo sobre los archivos de registro que debe


manejar de la serie de
archivos de configuración especificados en la línea de comando.
Cada archivo de configuración puede establecer global
opciones (las definiciones locales anulan las globales y las
definiciones posteriores anulan las anteriores
unos) y especifique los archivos de registro para rotar. Un
archivo de configuración simple se ve así:

# archivo de configuración de logrotate de muestra


comprimir

/ var / log / messages {


rotar 5
semanal
postrotar
/ usr / bin / killall -HUP syslogd
guión final
}

"/var/log/httpd/access.log" /var/log/httpd/error.log {
rotar 5
envíe un correo electrónico a destination@example.org
tamaño 100k
guiones compartidos
postrotar
/ usr / bin / killall -HUP httpd
guión final
}

/ var / log / news / * {


mensual
rotar 2
olddir / var / log / news / old
faltando
postrotar
matar -HUP $ (gato /var/run/inn.pid)
guión final
no comprimir
}

~ / log / * .log {}

Las primeras líneas establecen opciones globales; en el ejemplo,


los registros se comprimen después de
girado. Tenga en cuenta que los comentarios pueden aparecer en
cualquier lugar del archivo de configuración siempre que el primer
El carácter que no es un espacio en blanco en la línea es un # .

Los valores están separados de las directivas por espacios en


blanco y / o un = opcional. Los números deben ser
especificado en un formato entendido por strtoul (3) .

La siguiente sección del archivo de configuración define cómo


manejar el archivo de registro / var / log / messages .
El registro pasará por cinco rotaciones semanales antes de ser
eliminado. Una vez que el archivo de registro
rotado (pero antes de que se haya comprimido la versión anterior
del registro), el comando
/ usr / bin / killall -HUP syslogd se ejecutará.

La siguiente sección define los parámetros para


/var/log/httpd/access.log y
/var/log/httpd/error.log . Cada uno se rota cada vez que crece
más de 100k en tamaño, y el
Los archivos de registros antiguos se envían por correo (sin
comprimir) a receiver@example.org después de pasar por 5
rotaciones, en lugar de eliminarse. Los guiones compartidos
significan que el guión postrotado
solo se ejecutará una vez (después de que se hayan comprimido los
registros antiguos), no una vez para cada registro
que se gira. Tenga en cuenta que los nombres de los archivos de
registro pueden ir entre comillas (y que las comillas
requerido si el nombre contiene espacios). Se aplican las reglas
de cotización de shell normales, con ' , " y \
caracteres admitidos.
La siguiente sección define los parámetros para todos los archivos
en / var / log / news . Cada archivo
se rota mensualmente. Esto se considera una directiva de rotación
única y si
se producen errores para más de un archivo, los archivos de
registro no se comprimen.

La última sección usa la expansión de tilde para rotar archivos de


registro en el directorio de inicio del
usuario actual. Esto solo está disponible si su biblioteca glob
admite la expansión de tilde. ÑU
glob admite esto.

Utilice comodines con precaución. Si especifica *, logrotate


rotará todos los archivos,
incluidos los previamente rotados. Una forma de evitar esto es
usar la directiva olddir o una
comodín más exacto (como * .log).

Aquí hay más información sobre las directivas que pueden incluirse
en un logrotate
archivo de configuración:

DIRECTIVAS
Estas directivas pueden incluirse en un archivo de configuración
logrotate :

compress
Las versiones antiguas de los archivos de registro se
comprimen con gzip (1) de forma predeterminada. Consulte también
nocompress .

compresscmd
Especifica qué comando utilizar para comprimir archivos de
registro. El predeterminado es gzip (1). Ver
también comprimir .

descompresscmd
Especifica qué comando usar para descomprimir archivos de
registro. El valor predeterminado es gunzip (1).

compressext
Especifica qué extensión usar en archivos de registro
comprimidos, si la compresión está habilitada.
El valor predeterminado sigue al del comando de compresión
configurado.

compresiones
Las opciones de la línea de comandos se pueden pasar al
programa de compresión, si hay alguno en uso.
El valor predeterminado, para gzip (1), es "-6" (sesgado
hacia una alta compresión a expensas
de velocidad). Si usa un comando de compresión diferente,
es posible que deba cambiar el
compresiones para igualar.
copiar Haga una copia del archivo de registro, pero no cambie
el original en absoluto. Esta opción puede
ser utilizado, por ejemplo, para hacer una instantánea del
archivo de registro actual, o cuando algunos
otra utilidad necesita truncar o analizar el archivo.
Cuando se utiliza esta opción, el
La opción de creación no tendrá ningún efecto, ya que el
archivo de registro antiguo permanece en su lugar.

copiar truncar
Truncar el archivo de registro original a tamaño cero en su
lugar después de crear una copia, en su lugar
de mover el archivo de registro antiguo y, opcionalmente,
crear uno nuevo. Se puede utilizar cuando
no se le puede decir a algún programa que cierre su archivo
de registro y por lo tanto podría continuar
(adjuntando) al archivo de registro anterior para siempre.
Tenga en cuenta que hay un tiempo muy pequeño
corte entre copiar el archivo y truncarlo, por lo que
algunos datos de registro pueden ser
perdido. Cuando se utiliza esta opción, la opción de crear
no tendrá ningún efecto, ya que la antigua
El archivo de registro permanece en su lugar.

Crear grupo propietario del modo , crear grupo propietario


Inmediatamente después de la rotación (antes de que se
ejecute el script postrotate ), el archivo de registro se
creado (con el mismo nombre que el archivo de registro
recién rotado). modo especifica el modo
para el archivo de registro en octal (lo mismo que chmod
(2)), el propietario especifica el nombre de usuario que
será el propietario del archivo de registro y group
especifica el grupo al que pertenecerá el archivo de registro.
Se puede omitir cualquiera de los atributos del archivo de
registro, en cuyo caso esos atributos para
el nuevo archivo usará los mismos valores que el archivo de
registro original para el archivo omitido
atributos. Esta opción se puede deshabilitar usando la
opción nocreate .

grupo propietario del modo createolddir


Si el directorio especificado por la directiva olddir no
existe, se crea. mode
especifica el modo para el directorio olddir en octal (lo
mismo que chmod (2)), el propietario
especifica el nombre de usuario que será el propietario del
directorio olddir y el grupo especifica el
grupo al que pertenecerá el directorio olddir . Esta opción
se puede desactivar usando la
opción nocreateolddir .

Los archivos de registro diarios se rotan todos los días.

dateext
Archive versiones antiguas de archivos de registro
agregando una extensión de fecha como AAAAMMDD en lugar de
simplemente agregando un número. La extensión puede
configurar mediante la dateformat y
dateyesterday opciones.

dateformat format_string
Especifica la extensión para el texto de datos usando
la notación similar a strftime (3)
función. Solo se permiten los especificadores% Y% m% d% H%
M% S% V y% s. El valor por defecto
El valor es -% Y% m% d excepto cada hora, que utiliza -% Y%
m% d% H como valor predeterminado. Tenga en cuenta que
también el carácter que separa el nombre del registro de la
extensión es parte del formato de fecha
cuerda. El reloj del sistema debe configurarse después del
9 de septiembre de 2001 para que% s funcione correctamente.
Tenga en cuenta que las marcas de fecha generadas por este
formato deben ser ordenables léxicamente (que
es primero el año, luego el mes y luego el día. Por
ejemplo, 2001/12/01 está bien, pero
01/12/2001 no lo es, ya que 01/11/2002 ordenaría más bajo
mientras es más tarde). Esto es
porque cuando se usa la opción de rotar , logrotate ordena
todos los nombres de archivo rotados para encontrar
saber qué archivos de registro son más antiguos y deben
eliminarse.

dateyesterday
Uso de ayer en lugar de la fecha de hoy para crear el
dateext extensión, de manera que
el archivo de registro rotado tiene una fecha en su nombre
que es igual a las marcas de tiempo
dentro de ella.

datehourago
Uso horas atrás en lugar de la fecha actual para crear el
dateext extensión, de modo que la
El archivo de registro rotado tiene una hora en su nombre
que es el mismo que las marcas de tiempo dentro
eso. Útil con rotar cada hora .

demora comprimir
Posponga la compresión del archivo de registro anterior al
siguiente ciclo de rotación. Esta
solo tiene efecto cuando se usa en combinación con compress
. Se puede usar cuando algunos
No se le puede decir al programa que cierre su archivo de
registro y, por lo tanto, podría continuar escribiendo en el
archivo de registro anterior durante algún tiempo.

extensión ext
Los archivos de registro con extensión ext pueden
conservarlo después de la rotación. Si la compresión es
utilizado, la extensión de compresión (normalmente .gz )
aparece después de ext . Por ejemplo tu
tiene un archivo de registro llamado mylog.foo y desea
rotarlo a mylog.1.foo.gz en lugar de
mylog.foo.1.gz.
por hora archivos de registro se cambian cada hora. Tenga en
cuenta que, por lo general, logrotate está configurado para
ejecutado por cron diariamente. Tienes que cambiar esta
configuración y ejecutar logrotate cada hora
para poder rotar realmente los registros cada hora.

addextension ext
Los archivos de registro reciben la extensión ext después
de la rotación. Si el archivo original
ya termina con ext , la extensión no se duplica, sino que
simplemente se mueve a la
final, que es a la vez el nombre de archivo y el nombre del
archivo ext sería girará filename.1 ext . Si
se utiliza compresión, la extensión de compresión
(normalmente .gz ) aparece después de ext .

ifempty
Girar el archivo de registro, incluso si está vacío,
anulando el notifempty opción ( ifempty
es el predeterminado).

include file_or_directory
Lee el archivo dado como argumento como si estuviera
incluido en línea donde se incluye
Aparece la directiva. Si se proporciona un directorio, la
mayoría de los archivos en ese directorio son
leer en orden alfabético antes de que continúe el
procesamiento del archivo incluido. los
solo los archivos que se ignoran son archivos que no son
archivos normales (como
directorios y canalizaciones con nombre) y archivos cuyos
nombres terminan con uno de los tabú
extensiones o patrones, según lo especificado por las
directivas tabooext o taboopat ,
respectivamente.

dirección de correo electrónico


Cuando un registro deja de existir, se envía por correo a
la dirección . Si ningún correo debe
ser generado por un registro particular, se puede utilizar
la directiva nomail .

mailfirst
Cuando utilice el comando mail , envíe por correo el
archivo recién rotado, en lugar del a punto de
caducar archivo.

maillast
Al usar el comando de correo , envíe el archivo a punto de
caducar, en lugar del solo
archivo girado (este es el predeterminado).

cuenta de minage
No rote los troncos que tengan menos de <cuenta> días.

conteo máximo
Elimine los registros rotados que tengan más de <cuenta>
días. La edad solo se verifica si el archivo de registro
se va a rotar. Los archivos se envían por correo a la
dirección configurada si se configuran maillast y
mail .

tamaño máximo
Los archivos de registro se rotan cuando crecen más que los
bytes de tamaño incluso antes de
intervalo de tiempo adicionalmente especificado ( diario ,
semanal , mensual o anual ). los
La opción de tamaño relacionada es similar, excepto que
es mutuamente excluyente con el tiempo
opciones de intervalo, y hace que los archivos de registro
se roten sin tener en cuenta la última
tiempo de rotación. Cuando se usa maxsize , tanto el tamaño
como la marca de tiempo de un archivo de registro son
considerado.

minize size
Los archivos de registro se rotan cuando crecen más que los
bytes de tamaño , pero no antes de
intervalo de tiempo adicionalmente especificado ( diario ,
semanal , mensual o anual ). los
La opción de tamaño relacionada es similar, excepto que es
mutuamente excluyente con el tiempo
opciones de intervalo, y hace que los archivos de registro
se roten sin tener en cuenta la última
tiempo de rotación. Cuando se usa minize , tanto el tamaño
como la marca de tiempo de un archivo de registro son
considerado.

faltando
Si falta el archivo de registro, pase al siguiente sin
emitir un mensaje de error.
Véase también nomissingok .

Los archivos de registro mensuales se rotan 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 están
comprimidas. Consulte también comprimir .

nocopy No copie el archivo de registro original y déjelo en su


lugar. (esto anula la copia
opción).

nocopytruncate
No trunque el archivo de registro original en su lugar
después de crear una copia (esto
anula la opción copytruncate ).

nocreate No se crean
nuevos archivos de registro (esto anula la opción de
creación ).

nocreateolddir
logrotate no crea el directorio olddir cuando no existe.

nodelaycompress
No posponga la compresión del archivo de registro anterior
al siguiente ciclo de rotación
(esto anula la opción delaycompress ).

nodateext
No archive versiones antiguas de archivos de registro con
extensión de fecha (esto anula la
dateext opción).

nomail No envíe archivos de registro antiguos a ninguna dirección.

nomissingok
Si no existe un archivo de registro, emita un error. Este
es el predeterminado.

noolddir
Los registros se rotan en el directorio en el que residen
normalmente (esto anula la
opción olddir ).

nosharedscripts
Ejecute scripts de prerotación y postrotación para cada
archivo de registro que se rota (esto es
predeterminado y anula la opción de scripts compartidos ).
La ruta absoluta al registro
El archivo se pasa como primer argumento al script. Si los
scripts salen con error, el
las acciones restantes no se ejecutarán solo para el
registro afectado.

noshred
No utilice shred al eliminar archivos de registro antiguos.
Véase también triturar .

notifempty
No gire el registro si está vacío (esto anula la opción
ifempty ).

directorio olddir
Los registros se mueven al directorio para su rotación.
El directorio debe estar en el mismo
dispositivo físico como el archivo de registro que se está
rotando, a menos que se utilice la opción copiar , copiar , truncar
o
renombrar copiar . Se supone que el directorio es relativo
al directorio
que contiene el archivo de registro a menos que se
especifique un nombre de ruta absoluto. Cuando esta opción es
Usado todas las versiones antiguas del registro terminan en
el directorio . Esta opción puede ser
anulado por la opción noolddir .

postrotate / endscript
Las líneas entre postrotate y endcript (las cuales deben
aparecer en líneas por
ellos mismos) se ejecutan (usando / bin / sh ) después de
que se gira el archivo de registro. Estas
las directivas solo pueden aparecer dentro de una
definición de archivo de registro. Normalmente, el absoluto
La ruta al archivo de registro se pasa como primer
argumento al script. Si sharedscripts es
especificado, el patrón completo se pasa al script.
Consulte también prerrotar . Consulte
sharedscripts y nosharedscripts para el manejo de errores.

prerotate / endscript
Las líneas entre prerotate y endcript (las cuales deben
aparecer en líneas por
ellos mismos) se ejecutan (usando / bin / sh ) antes de que
se gire el archivo de registro y solo si
el registro realmente se rotará. Estas directivas solo
pueden aparecer dentro de un registro
definición de archivo. Normalmente, la ruta absoluta al
archivo de registro se pasa como primera
argumento al guión. Si se especifica sharedscripts , se
pasa el patrón completo a
la secuencia de comandos. Consulte también postrotate .
Consulte sharedscripts y nosharedscripts para ver el error
manejo.

primera sección / guión final


Las líneas entre la primera sección y el guión final (las
cuales deben aparecer en líneas por
ellos mismos) se ejecutan (usando / bin / sh ) una vez
antes de todos los archivos de registro que coinciden
Los patrones con comodines se rotan, antes de ejecutar el
script de prerotación y solo si al menos
un registro realmente se rotará. Estas directivas solo
pueden aparecer dentro de un registro
definición de archivo. El patrón completo se pasa al script
como primer argumento. Si el
El script sale con error, no se realiza ningún
procesamiento adicional. Consulte también la última acción .

última acción / guión final


Las líneas entre última acción y guión final (las cuales
deben aparecer en líneas por
ellos mismos) se ejecutan (usando / bin / sh ) una vez
después de todos los archivos de registro que coinciden
Los patrones con comodines se rotan, después de ejecutar el
script postrotate y solo si al menos
se gira un tronco. Estas directivas solo pueden aparecer
dentro de una definición de archivo de registro.
El patrón completo se pasa al script como primer argumento.
Si el script sale con
error, solo se muestra un mensaje de error (ya que esta es
la última acción). Ver también
primera acción .

preremove / endscript
Las líneas entre preremove y endscript (las cuales deben
aparecer en líneas por
ellos mismos) se ejecutan (usando / bin / sh ) una vez
justo antes de eliminar un archivo de registro.
El logrotate pasará el nombre del archivo que pronto se
eliminará. Ver también
primera acción .

rotar recuento
Los archivos de registro se rotan el recuento de veces
antes de ser eliminados o enviados por correo a la dirección
especificado en una directiva de correo . Si el recuento es
0, las versiones antiguas se eliminan en lugar de
girado. El valor predeterminado es 0.

renombrar copiar
Se cambia el nombre del archivo de registro a un nombre de
archivo temporal en el mismo directorio agregando ".tmp"
extensión a ella. Después de eso, se ejecuta el script
postrotate y el archivo de registro se copia desde
nombre de archivo temporal al nombre de archivo final. Esto
permite almacenar archivos de registro rotados en el
diferentes dispositivos que utilizan la directiva
olddir . Al final, el nombre del archivo temporal es
remoto.

tamaño tamaño
Los archivos de registro se rotan solo si crecen más que
los bytes de tamaño . Si se sigue el tamaño
por k , se supone que el tamaño está en kilobytes. Si se
usa la M , el tamaño está en
megabytes, y si se usa G , el tamaño está en gigabytes. Por
tanto, la talla 100 , la talla 100k , la talla
100M y la talla 100G son todas válidas.

sharedscripts
Normalmente, los scripts de prerotación y postrotación se
ejecutan para cada registro que se rota
y la ruta absoluta al archivo de registro se pasa como
primer argumento al script.
Eso significa que un único script puede ejecutarse varias
veces para las entradas del archivo de registro que
coincidir con varios archivos (como el ejemplo / var /
log / news / * ). Si se comparten guiones es
especificado, los scripts solo se ejecutan una vez, sin
importar cuántos registros coincidan
patrón comodín, y se les pasa el patrón completo. Sin
embargo, si ninguno de los
los registros en el patrón requieren rotación, los scripts
no se ejecutarán en absoluto. Si el
Los scripts salen con error, las acciones restantes no se
ejecutarán para ningún registro.
Esta opción anula la opción nosharedscripts e implica la
opción de creación .
shred Elimina los archivos de registro usando shred -u en lugar
de unlink (). Esto debería asegurar que los registros
no se pueden leer después de su eliminación programada;
Esto está desactivada por defecto. Ver también
noshred .

shredcycles recuento
Pide GNU triturar (1) para archivos de registro de
sobreescritura contar veces antes de su eliminación. Sin esto
opción, se utilizará el valor predeterminado de shred .

empezar a contar
Este es el número que se utilizará como base para la
rotación. Por ejemplo, si especifica 0,
los registros se crearán con una extensión de .0 a medida
que se roten desde el original
archivos de registro. Si especifica 9, los archivos de
registro se crearán con un .9, omitiendo 0-8.
Los archivos aún se rotarán el número de veces especificado
con el botón rotar.
directiva.

su grupo de usuarios
Rote los archivos de registro establecidos en este usuario
y grupo en lugar de usar el usuario / grupo predeterminado
(generalmente root). el usuario especifica el nombre de
usuario utilizado para la rotación y el grupo especifica
el grupo utilizado para la rotación. Si el usuario / grupo
que especifica aquí no tiene
privilegio suficiente para crear archivos con la propiedad
que ha especificado en una creación
instrucción, provocará un error.

tabooext [+] list


La lista de extensiones tabú actual se cambia (consulte la
directiva include para
información sobre las extensiones tabú). Si un + precede a
la lista de extensiones, el
Se aumenta la lista de extensiones tabú actual; de lo
contrario, se reemplaza. Al inicio,
la lista de extensiones tabú , v , .cfsaved , .disabled ,
.dpkg-bak , .dpkg-del , .dpkg-dist ,
.dpkg-new , .dpkg-old , .rhn-cfg-tmp- * , .rpmnew ,
.rpmorig , .rpmsave , .swp , .ucf-dist ,
.ucf-new , .ucf-old , ~

taboopat [+] list


La lista actual de patrones de taboo glob ha cambiado
(consulte la directiva include para
información sobre las extensiones y patrones tabú). Si un +
precede a la lista de
patrones, se aumenta la lista de patrones tabú actual; de
lo contrario, se reemplaza. A
inicio, la lista de patrones tabú está vacía.

semanal [ día de la semana ]


Los archivos de registro se rotan una vez cada día de la
semana , o si la fecha se adelanta al menos 7
días desde la última rotación (ignorando la hora exacta).
El día de la semana
La interpretación es la siguiente: 0 significa domingo, 1
significa lunes, ..., 6 significa
Sábado; el valor especial 7 significa cada 7 días,
independientemente del día de la semana.
El valor predeterminado es 0 si se omite el argumento del
día de la semana .

Los archivos de registro anuales se rotan si el año actual no es


el mismo que el de la última rotación

También podría gustarte