Rain Wiki · Linux

logrotate

Qué hace logrotate, cómo funciona su configuración en /etc/logrotate.conf y /etc/logrotate.d, y cómo probar una regla de forma segura.

Linux · Rain Wiki

logrotate es una utilidad de Linux que rota, comprime y elimina archivos de registro para evitar que llenen el disco. Por lo general, se ejecuta una vez al día mediante un temporizador de systemd o una tarea de cron, y lee /etc/logrotate.conf junto con las reglas por paquete en /etc/logrotate.d/.

Una regla típica

Una regla nombra uno o más archivos de registro y directivas como daily o weekly (la frecuencia), rotate 7 (cuántos archivos antiguos conservar), compress (comprimir archivos antiguos con gzip), missingok (sin error si el archivo no está presente), notifempty (omitir registros vacíos) y postrotate ... endscript (un comando que se ejecuta después de la rotación, por ejemplo, para reabrir el registro).

copytruncate

Algunos programas continúan escribiendo en el mismo archivo abierto. copytruncate copia el registro y luego trunca el original en lugar de moverlo, por lo que el programa mantiene su descriptor de archivo; es posible que se pierdan algunas líneas escritas durante la copia.

Pruebas

'logrotate -d /etc/logrotate.conf' se ejecuta en modo de depuración y solo imprime lo que sucedería. '-f' fuerza una rotación incluso si no corresponde.

Cómo agregar y probar una regla

  1. Cree /etc/logrotate.d/myapp con la ruta del registro y las directivas, por ejemplo, weekly, rotate 4, compress, missingok, notifempty.
  2. Simulación: sudo logrotate -d /etc/logrotate.d/myapp
  3. Si la salida se ve correcta, fuerce una rotación: sudo logrotate -f /etc/logrotate.d/myapp
  4. Compruebe el resultado: ls -l del directorio de registros.

Precauciones

  • Un patrón de ruta incorrecto puede rotar o eliminar registros de otros programas.
  • Los registros administrados por el diario de systemd se limitan en journald.conf, no mediante logrotate.

Fuentes

Última actualización: 2026-10-08

Artículos relacionados