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.
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.confUna 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:
dailyrota cada díarotate 7conserva 7 archivos antiguoscompresscomprime los registros rotados con gzipmissingokomite 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/myappScripts 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 -deleteUn 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>&1Programar 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.shSupervisar 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 rootComprobació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,compressypostrotate - Valide con
-d/-f - Utilice
find -mtime +N -deletepara la limpieza personalizada - Programe las tareas con cron y utilice alertas de uso del disco como protección
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
- Programación de tareas con Cron
- Automatización de la administración del sistema
- Proyecto de scripting avanzado
- Rotación y limpieza automatizadas de logs