DevOps Bootcamp · Lección

Rotación y limpieza automatizadas de logs

Mantenga los discos en buen estado automatizando la rotación de logs y la limpieza de archivos antiguos con logrotate y scripts programados basados en find.

Lección 4 de 413 pasos

Rotación y limpieza automatizadas de logs es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.

El problema de los registros que crecen

Los servicios de larga duración escriben registros indefinidamente. Sin administración, llenan el disco y bloquean el sistema. La rotación y la limpieza permiten mantenerlos bajo control.

du -sh /var/log/*

Qué hace la rotación de registros

La rotación cambia el nombre del registro actual, inicia uno nuevo y vacío, y conserva un número limitado de copias antiguas comprimidas.

  • app.log se convierte en app.log.1
  • Las copias antiguas se comprimen con gzip
  • Las más antiguas se eliminan

Introducción a logrotate

logrotate es la herramienta estándar de Linux que automatiza la rotación según el tamaño o la antigüedad, definida en /etc/logrotate.d/.

cat /etc/logrotate.conf

Una configuración básica de logrotate

Un bloque de configuración indica los archivos de registro y la política de rotación.

/var/log/myapp/*.log {
    daily
    rotate 7
    compress
    missingok
    notifempty
}

Comprender las directivas

Directivas habituales:

  • daily rota cada día
  • rotate 7 conserva 7 archivos antiguos
  • compress comprime los registros rotados con gzip
  • missingok omite el archivo si no existe

Probar sin esperar

Fuerce una ejecución con -f o haga una ejecución de prueba con -d para validar la configuración antes de confiar en la programación.

logrotate -d /etc/logrotate.d/myapp
logrotate -f /etc/logrotate.d/myapp

Scripts postrotate

Muchos servicios mantienen abierto el descriptor del archivo antiguo. Un bloque postrotate indica al servicio que vuelva a abrir su registro después de la rotación.

/var/log/myapp/*.log {
    daily
    postrotate
        systemctl reload myapp
    endscript
}

Limpiar archivos antiguos con find

Para una limpieza puntual, find junto con -mtime localiza archivos con más de N días y los elimina.

find /var/log/myapp -name "*.log" -mtime +30 -delete

Un script de limpieza seguro

Incluya la limpieza en un script que registre lo que elimina para disponer de un historial de auditoría.

#!/bin/bash
DIR=/var/backups
find "$DIR" -name "*.tar.gz" -mtime +14 -print -delete \
  >> /var/log/cleanup.log 2>&1

Programar la limpieza

Coloque la rotación en logrotate, que ya se ejecuta mediante cron, y programe los scripts de limpieza personalizados con su propia entrada de crontab.

# crontab -e
30 2 * * * /usr/local/bin/cleanup.sh

Supervisar el uso del disco

Añada una comprobación que avise cuando una partición supere un umbral para que la limpieza nunca se ejecute demasiado tarde.

USAGE=$(df --output=pcent / | tr -dc "0-9")
[ "$USAGE" -gt 90 ] && echo "Disk over 90%" | mail -s alert root

Comprobación rápida

Compruebe sus conocimientos sobre automatización.

Resumen

Ha automatizado la gestión de los registros:

  • logrotate rota según la antigüedad o el tamaño con rotate, compress y postrotate
  • Valide con -d / -f
  • Utilice find -mtime +N -delete para la limpieza personalizada
  • Programe las tareas con cron y utilice alertas de uso del disco como protección
Gratis para empezar

Aprende DevOps Bootcamp con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
142
Lecciones
568

Preguntas frecuentes

¿La lección «Rotación y limpieza automatizadas de logs» es gratis?

Sí — el texto completo de «Rotación y limpieza automatizadas de logs» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.

¿Qué aprenderé en «Rotación y limpieza automatizadas de logs»?

Mantenga los discos en buen estado automatizando la rotación de logs y la limpieza de archivos antiguos con logrotate y scripts programados basados en find. Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar DevOps Bootcamp?

No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Rotación y limpieza automatizadas de logs»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?

Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Programación de tareas con Cron
  2. Automatización de la administración del sistema
  3. Proyecto de scripting avanzado
  4. Rotación y limpieza automatizadas de logs
← Volver a DevOps Bootcamp