logrotate – rota, comprime y envía por correo los registros del sistema
SINTAXIS
logrotate [--force] [--debug] [--state archivo] [--skip-state-lock] [--wait-for-state-lock] [--verbose] [--log archivo] [--mail comando] archivo_de_configuración [archivo_de_configuración2 ...]
DESCRIPCIÓN
logrotate está diseñado para facilitar la administración de sistemas que generan un gran número de archivos de registro.
Permite la rotación, compresión, eliminación y envío por correo de archivos de registro de forma automática. Cada archivo de registro puede gestionarse diariamente, semanalmente, mensualmente o cuando alcanza un tamaño demasiado grande.
Normalmente, logrotate se ejecuta como un trabajo cron diario. No modificará un registro más de una vez al día, a menos que el criterio para ese registro se base en el tamaño del registro y logrotate se esté ejecutando más de una vez al día, o a menos que se utilice la opción -f o --force.
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 los archivos anteriores, por lo que el orden en el que se enumeran los archivos de configuración de logrotate es importante. Normalmente, se debe utilizar un único archivo de configuración que incluya cualquier otro archivo de configuración necesario. Consulte la sección siguiente para obtener más información sobre cómo utilizar la directiva include para lograr esto. Si se proporciona un directorio en la línea de comandos, cada archivo de ese directorio se utiliza como archivo de configuración.
Si no se proporcionan argumentos en la línea de comandos, logrotate imprimirá la versión y la información de derechos de autor, junto con un breve resumen del uso. Si se produce algún error al rotar los registros, logrotate saldrá con un estado distinto de cero, aunque el archivo de estado se actualizará.
OPCIONES
-f, --force
Indica a logrotate que fuerce la rotación, incluso si no cree que sea necesario. A veces, esto es útil después de agregar nuevas entradas a un archivo de configuración de logrotate, o si los archivos de registro antiguos se han eliminado manualmente, ya que los nuevos archivos se crearán y el registro continuará correctamente.
-d, --debug
Activa el modo de depuración, lo que significa que no se realizarán cambios en los registros y el archivo de estado de logrotate no se actualizará. Solo se imprimirán los mensajes de depuración.
-s, --state archivo_de_estado
Indica a logrotate que utilice un archivo de estado alternativo. Esto es útil si logrotate se está ejecutando como un usuario diferente para diferentes conjuntos de archivos de registro. Para evitar la ejecución en paralelo, logrotate adquiere de forma predeterminada un bloqueo en el archivo de estado; si no puede adquirirse, logrotate saldrá con el valor 3. El archivo de estado predeterminado es /var/lib/logrotate/status. Si se proporciona /dev/null como archivo de estado, logrotate no intentará bloquear o escribir el archivo de estado.
--skip-state-lock
No bloquear el archivo de estado, por ejemplo si el bloqueo no es compatible o está prohibido.
--wait-for-state-lock
Esperar a que se libere el bloqueo del archivo de estado por otro proceso de logrotate. Esta opción puede hacer que logrotate espere indefinidamente. Úselo con precaución.
-v, --verbose
Activa el modo detallado, por ejemplo, para mostrar mensajes durante la rotación.
-l, --log file
Indica a logrotate que registre la salida detallada en el archivo de registro. La salida detallada registrada en ese archivo es la misma que cuando se ejecuta logrotate con el interruptor -v. El archivo de registro se sobrescribe en cada ejecución de logrotate.
-m, --mail command
Indica a logrotate qué comando usar al enviar los registros por correo electrónico. Este comando debe aceptar los siguientes argumentos:
1. el asunto del mensaje dado con '-s subject'
2. el destinatario.
El comando debe leer luego un mensaje en la entrada estándar y enviarlo por correo electrónico al destinatario. El comando de correo predeterminado es /usr/bin/mail.
--usage
Imprime un mensaje de uso corto.
-?, --help
Imprime el mensaje de ayuda.
--version
Muestra la información de la versión.
ARCHIVO DE CONFIGURACIÓN
logrotate lee todo sobre los archivos de registro que debe administrar desde la serie de archivos de configuración especificados en la línea de comandos. Cada archivo de configuración puede establecer opciones globales (las definiciones locales anulan las globales, y las definiciones posteriores anulan las anteriores). Las opciones globales no afectan a las directivas include anteriores. Un archivo de configuración simple se ve así:
# archivo de configuración de muestra de logrotate
compress
/var/log/messages {
rotate 5
weekly
postrotate
/usr/bin/killall -HUP syslogd
endscript
}
"/var/log/httpd/access.log" /var/log/httpd/error.log {
rotate 5
mail _
size 100k
sharedscripts
postrotate
/usr/bin/killall -HUP httpd
endscript
}
/var/log/news/* {
monthly
rotate 2
olddir /var/log/news/old
missingok
sharedscripts
postrotate
kill -HUP $(cat /var/run/inn.pid)
endscript
nocompress
}
~/log/*.log {}
Las primeras líneas establecen opciones globales; en el ejemplo, los registros se comprimen después de que se rotan. Tenga en cuenta que los comentarios pueden aparecer en cualquier parte del archivo de configuración, siempre y cuando el primer carácter no espacio en blanco de la línea sea un #.
Los valores se separan de las directivas mediante espacios en blanco y/o un = opcional. Los números deben especificarse en un formato que comprenda 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. Después de que el archivo de registro se haya rotado (pero antes de que la versión anterior del registro se haya comprimido), se ejecutará el comando /usr/bin/killall -HUP syslogd.
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 100 kilobytes, y los archivos de registro antiguos se envían por correo electrónico (sin comprimir) a _ después de pasar por 5 rotaciones, en lugar de eliminarse. El sharedscripts significa que el script postrotate se ejecutará solo una vez para esta sección, no una vez para cada registro que se rota. Tenga en cuenta que los nombres de los archivos de registro pueden estar entre comillas (y que las comillas son necesarias si el nombre contiene espacios). Se aplican las reglas de comillas normales de shell, con los caracteres ', ", y \ admitidos.
La siguiente sección define los parámetros para todos los archivos en /var/log/news. Cada archivo se rota de forma mensual.
La última sección utiliza la expansión de tilde para rotar los 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. GNU glob sí la admite.
Tenga cuidado al usar comodines. Si especifica *, logrotate rotará todos los archivos, incluidos los que ya se han rotado. Una forma de evitar esto es usar la directiva olddir o un comodín más exacto (como *.log).
Tenga en cuenta que, por defecto, al usar systemd(1), la opción ProtectSystem=full está configurada en el archivo logrotate.service. Esto impide que logrotate modifique los registros en /etc y /usr.
Aquí hay más información sobre las directivas que se pueden incluir en un archivo de configuración de logrotate:
DIRECTIVAS DEL ARCHIVO DE CONFIGURACIÓN
Estas directivas se pueden incluir en un archivo de configuración de logrotate:
Rotación
rotate count
Los archivos de registro se rotan 'count' veces antes de ser eliminados o enviados por correo electrónico a la dirección especificada en una directiva de correo. Si 'count' es 0, las versiones antiguas se eliminan en lugar de rotarse. Si 'count' es -1, los registros antiguos no se eliminan en absoluto, excepto que se ven afectados por maxage (úselo con precaución, puede desperdiciar rendimiento y espacio en disco). El valor predeterminado es 0.
olddir directory
Los registros se mueven a 'directory' para su rotación. El directorio debe estar en el mismo dispositivo físico que el archivo de registro que se está rotando, a menos que se utilicen las opciones copy, copytruncate o renamecopy. El directorio se considera relativo al directorio que contiene el archivo de registro a menos que se especifique una ruta absoluta. Cuando se usa esta opción, todas las versiones antiguas del registro terminan en 'directory'. Esta opción puede ser anulada por la opción noolddir.
noolddir
Los registros se rotan en el directorio en el que normalmente residen (esto anula la opción olddir).
su user group
Rote los archivos de registro que pertenecen a este usuario y grupo en lugar de usar el usuario/grupo predeterminado (generalmente root). 'user' especifica el usuario que se utiliza para la rotación y 'group' especifica el grupo que se utiliza para la rotación (vea la sección USUARIO Y GRUPO para obtener más detalles). Si el usuario/grupo que especifique aquí no tiene suficientes privilegios para crear archivos con la propiedad que especificó en una directiva create, esto provocará un error. Si logrotate se ejecuta con privilegios de root, se recomienda utilizar la directiva su para rotar archivos en directorios que están directa o indirectamente bajo el control de usuarios no privilegiados.
Frecuencia
hourly Los archivos de registro se rotan cada hora. Tenga en cuenta que, por lo general, logrotate está configurado para ejecutarse mediante cron diariamente (o mediante logrotate.timer cuando se utiliza [systemd]({filename}../../systemd)(1)). Debe cambiar esta configuración y ejecutar logrotate cada hora para poder rotar realmente los registros cada hora.
diario Los archivos de registro se rotan cada dí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 avanza al menos 7 días desde la última rotación (ignorando la hora exacta). La interpretación del día de la semana 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. Por defecto, se utiliza 0 si se omite el argumento del día de la semana.
mensual
Los archivos de registro se rotan la primera vez que se ejecuta logrotate en un mes (normalmente, el primer día del mes).
anual Los archivos de registro se rotan si el año actual no es el mismo que la última rotación.
tamaño tamaño
Los archivos de registro se rotan solo si crecen más allá de los bytes de tamaño. Si tamaño va seguido de k, el tamaño se asume en kilobytes. Si se utiliza M, el tamaño está en megabytes, y si se utiliza G, el tamaño está en gigabytes. Por lo tanto, tamaño 100, tamaño 100k, tamaño 100M y tamaño 100G son todos válidos. Esta opción es mutuamente excluyente con las opciones de intervalo de tiempo, y hace que los archivos de registro se roten sin tener en cuenta el último tiempo de rotación, si se especifica después de los criterios de tiempo (la última opción especificada tiene prioridad).
Selección de archivos
missingok
Si el archivo de registro falta, continúa con el siguiente sin emitir un mensaje de error. Consulte también nomissingok.
nomissingok
Si un archivo de registro no existe, emite un error. Este es el valor predeterminado.
ignoreduplicates
Ignora cualquier coincidencia posterior del archivo de registro.
ifempty
Rota el archivo de registro incluso si está vacío, anulando la opción notifempty (ifempty es el valor predeterminado).
notifempty
No rota el archivo de registro si está vacío (esto anula la opción ifempty).
minage conteo
No rota los registros que tienen menos de
maxage conteo
Elimina los registros rotados que tienen más de
minsize tamaño
Los archivos de registro se rotan cuando crecen más allá del tamaño en bytes, pero no antes del intervalo de tiempo adicional especificado (diario, semanal, mensual o anual). La opción de tamaño relacionada es similar, excepto que es mutuamente excluyente con las opciones de intervalo de tiempo, y hace que los archivos de registro se roten sin tener en cuenta el último tiempo de rotación, si se especifica después de los criterios de tiempo (la última opción especificada tiene prioridad). Cuando se utiliza minsize, tanto el tamaño como la marca de tiempo de un archivo de registro se tienen en cuenta.
maxsize tamaño
Los archivos de registro se rotan cuando crecen más allá del tamaño en bytes, incluso antes del intervalo de tiempo adicional especificado (diario, semanal, mensual o anual). La opción de tamaño relacionada es similar, excepto que es mutuamente excluyente con las opciones de intervalo de tiempo, y hace que los archivos de registro se roten sin tener en cuenta el último tiempo de rotación, si se especifica después de los criterios de tiempo (la última opción especificada tiene prioridad). Cuando se utiliza maxsize, tanto el tamaño como la marca de tiempo de un archivo de registro se tienen en cuenta.
tabooext [+] lista
La lista actual de extensiones prohibidas ha cambiado (consulte la directiva include para obtener información sobre las extensiones prohibidas). Si un + precede a la lista de extensiones, la lista actual de extensiones prohibidas se amplía; de lo contrario, se reemplaza. Al inicio, la lista de extensiones prohibidas es: ,v, .bak, .cfsaved, .disabled, .dpkg-bak, .dpkg-del, .dpkg-dist, .dpkg-new, .dpkg-old, .dpkg-tmp, .new, .old, .orig, .rhn-cfg-tmp-*, .rpmnew, .rpmorig, .rpmsave, .swp, .ucf-dist, .ucf-new, .ucf-old, ~
taboopat [+] lista
La lista actual de patrones glob prohibidos ha cambiado (consulte la directiva include para obtener información sobre las extensiones y patrones prohibidos). Si un + precede a la lista de patrones, la lista actual de patrones prohibidos se amplía; de lo contrario, se reemplaza. Al inicio, la lista de patrones prohibidos está vacía.
Archivos y carpetas
create mode propietario grupo, create propietario grupo
Inmediatamente después de la rotación (antes de ejecutar el script postrotate), el archivo de registro se crea (con el mismo nombre que el archivo de registro que se acaba de rotar). mode especifica el modo para el archivo de registro en octal (igual que chmod(2)), propietario especifica el usuario que será el propietario del archivo de registro y grupo especifica el grupo al que pertenecerá el archivo de registro (consulte la sección USUARIO Y GRUPO para obtener más detalles). Cualquiera de los atributos del archivo de registro se puede omitir, en cuyo caso los atributos del nuevo archivo utilizarán los mismos valores que el archivo de registro original para los atributos omitidos. Esta opción se puede deshabilitar mediante la opción nocreate.
nocreate
No se crean nuevos archivos de registro (esto anula la opción create).
createolddir mode [propietario [grupo]], createolddir [propietario [grupo]]
Si el directorio especificado por la directiva olddir no existe, se crea. mode especifica el modo para el directorio olddir en octal (igual que chmod(2)), propietario especifica el usuario que será el propietario del directorio olddir y grupo especifica el grupo al que pertenecerá el directorio olddir (consulte la sección USUARIO Y GRUPO para obtener más detalles). Si no se especifica mode, se asume 0755. Esta opción se puede deshabilitar mediante la opción nocreateolddir.
nocreateolddir
El directorio olddir no se crea mediante logrotate cuando no existe.
copy Copia el archivo de registro, pero no modifica el archivo original. Esta opción se puede usar, por ejemplo, para crear una instantánea del archivo de registro actual o cuando algún otro programa necesita truncar o analizar el archivo. Cuando se utiliza esta opción, la opción create no tendrá ningún efecto, ya que el archivo de registro antiguo permanece en su lugar. La opción copy permite almacenar los archivos de registro rotados en dispositivos diferentes utilizando la directiva olddir.
nocopy No copie el archivo de registro original y déjelo en su lugar (esto anula la opción copy).
copytruncate
Trunca el archivo de registro original a tamaño cero en su ubicación después de crear una copia, en lugar de mover el archivo de registro antiguo y, opcionalmente, crear uno nuevo. Se puede utilizar cuando no se puede indicar a algún programa que cierre su archivo de registro y, por lo tanto, podría seguir escribiendo (adjuntando) al archivo de registro anterior indefinidamente. Tenga en cuenta que existe un pequeño intervalo de tiempo entre la copia del archivo y su truncamiento, por lo que algunos datos de registro podrían perderse. Cuando se utiliza esta opción, la opción `create` no tendrá ningún efecto, ya que el archivo de registro antiguo permanecerá en su ubicación. La opción `copytruncate` permite almacenar archivos de registro rotados en diferentes dispositivos mediante la directiva `olddir`. La opción `copytruncate` implica `norenamecopy`.
nocopytruncate
No trunque el archivo de registro original en su ubicación después de crear una copia (esto anula la opción `copytruncate`).
renamecopy
El archivo de registro se cambia de nombre a un nombre de archivo temporal en el mismo directorio agregándole la extensión ".tmp". Después de eso, se ejecuta el script `postrotate` y el archivo de registro se copia del nombre de archivo temporal al nombre de archivo final. Al final, se elimina el nombre de archivo temporal. La opción `renamecopy` permite almacenar archivos de registro rotados en diferentes dispositivos mediante la directiva `olddir`. La opción `renamecopy` implica `nocopytruncate`.
norenamecopy
No cambie el nombre ni copie el archivo de registro original (esto anula la opción `renamecopy`).
shred
Elimine los archivos de registro utilizando `shred -u` en lugar de `unlink()`. Esto debería garantizar que los registros no sean legibles después de su eliminación programada; esto está desactivado de forma predeterminada. Consulte también `noshred`.
noshred
No utilice `shred` al eliminar los archivos de registro antiguos. Consulte también `shred`.
shredcycles count
Indica a GNU [shred]({filename}../../shred)(1) que sobrescriba los archivos de registro `count` veces antes de la eliminación. Sin esta opción, se utilizará el valor predeterminado de `shred`.
allowhardlink
Gire los archivos con múltiples enlaces físicos; esto está desactivado de forma predeterminada. El archivo de destino podría vaciarse, por ejemplo, con `shred` o `copytruncate`. Utilice con precaución, especialmente cuando los archivos de registro se giran como root.
noallowhardlink
No gire los archivos con múltiples enlaces físicos. Consulte también `allowhardlink`.
Compresión
compress
Las versiones antiguas de los archivos de registro se comprimen con [gzip]({filename}../../gzip)(1) de forma predeterminada. Consulte también `nocompress`.
nocompress
Las versiones antiguas de los archivos de registro no se comprimen. Consulte también `compress`.
compresscmd
Especifica qué comando utilizar para comprimir los archivos de registro. El valor predeterminado es [gzip]({filename}../../gzip)(1). Consulte también `compress`.
uncompresscmd
Especifica qué comando utilizar para descomprimir los archivos de registro. El valor predeterminado es `gunzip(1)`.
compressext
Especifica qué extensión utilizar en los archivos de registro comprimidos, si la compresión está habilitada. El valor predeterminado sigue el de el comando de compresión configurado.
compressoptions
Se pueden pasar opciones de línea de comandos al programa de compresión, si se está utilizando uno. El valor predeterminado, para [gzip]({filename}../../gzip)(1), es "-6" (sesgado hacia una alta compresión a expensas de la velocidad). Si utiliza un comando de compresión diferente, es posible que deba cambiar las `compressoptions` para que coincidan.
delaycompress
Aplazar la compresión del archivo de registro anterior al siguiente ciclo de rotación. Esto solo tiene efecto cuando se utiliza en combinación con compress. Puede utilizarse cuando no se puede indicar a un programa que cierre su archivo de registro y, por lo tanto, puede seguir escribiendo en el archivo de registro anterior durante algún tiempo.
nodelaycompress
No aplazar la compresión del archivo de registro anterior al siguiente ciclo de rotación (esto anula la opción delaycompress).
Nombres de archivo
extension ext
Los archivos de registro con la extensión ext pueden mantenerla después de la rotación. Si se utiliza la compresión, la extensión de compresión (normalmente .gz) aparece después de ext. Por ejemplo, si tiene un archivo de registro llamado mylog.foo y desea rotarlo a mylog.1.foo.gz en lugar de mylog.foo.1.gz.
addextension ext
A los archivos de registro se les asigna la extensión final 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 al final, es decir, tanto el nombre del archivo como el nombre del archivo con la extensión se rotarán a filename.1ext. Si se utiliza la compresión, la extensión de compresión (normalmente .gz) aparece después de ext.
start count
Este es el número que se utilizará como base para la rotación. Por ejemplo, si especifica 0, los archivos de registro se crearán con una extensión .0 a medida que se roten desde los archivos de registro originales. Si especifica 9, los archivos de registro se crearán con una extensión .9, omitiendo 0–8. Los archivos seguirán rotándose el número de veces especificado con la directiva rotate.
dateext
Archivar versiones antiguas de los archivos de registro agregando una extensión de fecha como YYYYMMDD en lugar de simplemente agregar un número. La extensión se puede configurar utilizando las opciones dateformat y dateyesterday.
nodateext
No archivar versiones antiguas de los archivos de registro con una extensión de fecha (esto anula la opción dateext).
dateformat format_string
Especifique la extensión para dateext utilizando una notación similar a la función strftime(3). Solo se permiten los especificadores %Y %m %d %H %M %S %V %s y %z. El valor predeterminado es -%Y%m%d, excepto para la configuración horaria, que utiliza -%Y%m%d%H como valor predeterminado. Tenga en cuenta que el carácter que separa el nombre del archivo de la extensión también forma parte de la cadena dateformat. El reloj del sistema debe estar configurado después del 9 de septiembre de 2001 para que %s funcione correctamente. Tenga en cuenta que las marcas de tiempo generadas por este formato deben poder ordenarse léxicamente (es decir, primero el año, luego el mes y luego el día. Por ejemplo, 2001/12/01 es válido, pero 01/12/2001 no, ya que 01/11/2002 se ordenaría de forma inferior aunque sea posterior). Esto se debe a que, cuando se utiliza la opción rotate, logrotate ordena todos los nombres de archivo rotados para determinar qué archivos de registro son más antiguos y deben eliminarse.
dateyesterday
Utilice la fecha de ayer en lugar de la de hoy para crear la extensión dateext, de modo que el archivo de registro rotado tenga una fecha en su nombre que sea la misma que las marcas de tiempo que contiene.
datehourago
Utilice la hora en lugar de la fecha actual para crear la extensión dateext, de modo que el archivo de registro rotado tenga una hora en su nombre que sea la misma que las marcas de tiempo dentro de él. Útil para rotaciones por horas.
Correo
mail address
Cuando un registro se rota y deja de existir, se envía por correo electrónico a la dirección especificada. Si no se debe generar ningún correo electrónico para un registro en particular, se puede utilizar la directiva nomail.
nomail No envíe por correo electrónico los archivos de registro antiguos a ninguna dirección.
mailfirst
Cuando se utiliza el comando mail, envíe por correo electrónico el archivo que acaba de rotar, en lugar del archivo que está a punto de caducar.
maillast
Cuando se utiliza el comando mail, envíe por correo electrónico el archivo que está a punto de caducar, en lugar del archivo que acaba de rotar (este es el valor predeterminado).
Archivos de configuración adicionales
include file_or_directory
Lee el archivo dado como argumento como si se incluyera en línea donde aparece la directiva include. Si se proporciona un directorio, la mayoría de los archivos de ese directorio se leen en orden alfabético antes de que continúe el procesamiento del archivo que lo incluye. Los únicos archivos que se ignoran son los archivos que no son archivos regulares (como directorios y tuberías con nombre) y los archivos cuyos nombres terminan con una de las extensiones o patrones tabú, según lo especificado por las directivas tabooext o taboopat, respectivamente. La ruta dada puede comenzar con ~/ para que sea relativa al directorio de inicio del usuario que ejecuta el comando. Por razones de seguridad, los archivos de configuración no deben ser de escritura por grupo ni de escritura por el mundo.
Scripts
sharedscripts
Normalmente, los scripts prerotate y postrotate se ejecutan para cada registro que se rota y la ruta absoluta del archivo de registro se pasa como primer argumento al script. Eso significa que un solo script puede ejecutarse varias veces para las entradas de archivos de registro que coinciden con varios archivos (como el ejemplo /var/log/news/\*). Si se especifica sharedscripts, los scripts se ejecutan solo una vez, independientemente de cuántos registros coincidan con el patrón con comodines, y todo el patrón se pasa a ellos. Sin embargo, si ninguno de los registros del patrón necesita ser rotado, los scripts no se ejecutarán en absoluto. Si los scripts se cierran con un error (o si algún registro no se rota), las acciones restantes no se ejecutarán para ningún registro. Esta opción anula la opción nosharedscripts.
nosharedscripts
Ejecute los scripts prerotate y postrotate para cada archivo de registro que se rota (este es el valor predeterminado y anula la opción sharedscripts). La ruta absoluta del archivo de registro se pasa como primer argumento al script. La ruta absoluta del archivo de registro rotado final se pasa como segundo argumento al script postrotate. Si los scripts se cierran con un error, las acciones restantes no se ejecutarán para el registro afectado.
firstaction
script
endscript
El script se ejecuta una vez antes de que se roten todos los archivos de registro que coinciden con el patrón con comodines, antes de que se ejecute el script prerotate y solo si realmente se rotará al menos un registro. Estas directivas solo pueden aparecer dentro de una definición de archivo de registro. Todo el patrón se pasa al script como su primer argumento. Si el script se cierra con un error, no se realizará ningún procesamiento adicional. Consulte también lastaction y la sección SCRIPTS.
lastaction
script
endscript
El script se ejecuta una vez después de que se hayan rotado todos los archivos de registro que coincidan con el patrón comodín, después de que se haya ejecutado el script postrotate y solo si se ha rotado al menos un registro. Estas directivas solo pueden aparecer dentro de la definición de un archivo de registro. El patrón completo se pasa al script como su primer argumento. Si el script sale con un error, solo se muestra un mensaje de error (ya que esta es la última acción). Consulte también firstaction y la sección SCRIPTS.
prerotate
script
endscript
El script se ejecuta antes de que el archivo de registro y sus registros antiguos se roten y solo si el registro realmente se rotará. Estas directivas solo pueden aparecer dentro de la definición de un archivo de registro. Normalmente, la ruta absoluta al archivo de registro se pasa como el primer argumento al script. Si se especifica sharedscripts, el patrón completo se pasa al script. Consulte también postrotate y la sección SCRIPTS. Consulte sharedscripts y nosharedscripts para el manejo de errores.
postrotate
script
endscript
El script se ejecuta después de que el archivo de registro se rota y antes de que el archivo de registro se comprima. Estas directivas solo pueden aparecer dentro de la definición de un archivo de registro. Normalmente, la ruta absoluta al archivo de registro se pasa como el primer argumento al script y la ruta absoluta al archivo de registro rotado final se pasa como el segundo argumento al script. Si se especifica sharedscripts, el patrón completo se pasa como el primer argumento al script y se omite el segundo argumento. Consulte también prerotate y la sección SCRIPTS. Consulte sharedscripts y nosharedscripts para el manejo de errores.
preremove
script
endscript
El script se ejecuta una vez, justo antes de la eliminación de un archivo de registro. logrotate pasará el nombre del archivo que pronto se eliminará como el primer argumento al script. Consulte también firstaction y la sección SCRIPTS.
SCRIPTS
Las líneas entre la palabra clave de inicio (por ejemplo, prerotate) y endscript (ambas deben aparecer en líneas separadas) se ejecutan (utilizando /bin/sh). El script hereda algunos rasgos del proceso logrotate, incluidos stderr, stdout, el directorio actual, el entorno y el umask. Los scripts se ejecutan como el usuario y grupo que invocan, independientemente de cualquier directiva su. Si se especificó la bandera --log, el descriptor de archivo 3 es el archivo de registro. El directorio de trabajo actual no está especificado.
USUARIO Y GRUPO
Los identificadores de usuario y grupo se resuelven primero intentando la representación textual y, en caso de que falle, posteriormente mediante el valor numérico.
ARCHIVOS
/var/lib/logrotate/status Archivo de estado predeterminado.
/etc/logrotate.conf Opciones de configuración.
CONSULTAR TAMBIÉN
chmod(2), gunzip(1), gzip(1), mail(1), shred(1), strftime(3), strtoul(3), [https://github.com/logrotate/logrotate]
AUTORES
Erik Troan, Preston Brown, Jan Kaluza.
[https://github.com/logrotate/logrotate]