2 enero, 2026
Cómo limpiar y optimizar /var/log en Linux sin romper tu servidor (especialmente si usas Moodle)

Cuando administramos un servidor Linux que da servicio a plataformas educativas (como Moodle u otros LMS), es común encontrarnos con carpetas de log gigantes: archivos como cron o messages ocupando varios gigabytes dentro de /var/log/. Esto afecta el rendimiento, puede llenar el disco y, en el peor de los casos, detener servicios críticos para tus estudiantes.

En este artículo aprenderás, paso a paso, cómo vaciar y optimizar los archivos de log en Linux de forma segura, evitando errores típicos (como borrar archivos abiertos por el sistema) y aprovechando herramientas como logrotate y systemd-journald. Todo con un enfoque práctico para quienes combinan administración de sistemas, aprendizaje autodidacta y tecnología educativa.


¿Por qué /var/log puede crecer tanto?

En un servidor Linux, la carpeta /var/log/ almacena los registros del sistema y de muchos servicios:

  • messages: mensajes generales del sistema, kernel y servicios.
  • cron: registros de tareas programadas que se ejecutan constantemente (backups, tareas de Moodle, scripts, etc.).
  • Otros archivos de log de Apache, Nginx, PHP, base de datos, etc.

En un entorno educativo, donde hay muchos accesos, tareas programadas y procesos en segundo plano, los logs pueden crecer hasta varios gigabytes si no se gestionan adecuadamente.

Problemas que puede causar un /var/log gigante

  • Disco casi lleno, lo que afecta todo el sistema.
  • Baja de rendimiento al leer o escribir en el disco.
  • Posible fallo de servicios críticos, como la base de datos o el servidor web.
  • Dificultad para analizar los registros si son demasiado grandes.

Vaciar archivos de log sin borrar el sistema

Antes de pensar en borrar archivos, es importante entender que muchos servicios mantienen los logs abiertos. Si borras el archivo con rm, el espacio puede no recuperarse inmediatamente, y algunos servicios seguirán escribiendo en un “archivo fantasma” hasta que se reinicien.

La forma correcta es vaciar el contenido del archivo sin eliminarlo.

Comandos seguros para vaciar logs grandes

Supongamos que tienes estos archivos enormes:

  • /var/log/cron (por ejemplo, 13G)
  • /var/log/messages (por ejemplo, 6G)

Como root (o con sudo):

sudo -i                 # si todavía no eres root

# Verifica el tamaño actual
ls -lh /var/log/cron /var/log/messages

Para vaciar el contenido, tienes dos formas seguras y equivalentes:

# Forma 1: usando la construcción de shell
: > /var/log/cron
: > /var/log/messages

# Forma 2: usando truncate
truncate -s 0 /var/log/cron /var/log/messages

Y luego:

ls -lh /var/log/cron /var/log/messages

Verás que ambos archivos siguen existiendo, pero ahora con tamaño 0.

¿Es necesario detener servicios?

En general, no es obligatorio detener rsyslog (u otro daemon de logs) para truncar archivos de log. Sin embargo, si quieres ser más conservador, puedes hacerlo así:

systemctl stop rsyslog
truncate -s 0 /var/log/cron /var/log/messages
systemctl start rsyslog

Nota: En algunas distribuciones el servicio se llama rsyslog.service, en otras syslog.


Configurar logrotate para que los logs no vuelvan a crecer sin control

Vaciar los logs es solo un alivio temporal. Para una solución sostenible, necesitas configurar la rotación automática de logs con logrotate.

¿Qué es logrotate?

logrotate es una herramienta que se ejecuta periódicamente (generalmente desde cron) y se encarga de:

  • Rotar archivos de log (renombrarlos y crear un archivo nuevo).
  • Comprimir logs antiguos.
  • Limitar el número de backups.
  • Definir políticas por tamaño, tiempo, o ambas.

Ubicación de la configuración de logrotate

Los archivos de configuración suelen estar en:

/etc/logrotate.conf        # configuración global
/etc/logrotate.d/          # configuraciones específicas por servicio

Puedes revisar el contenido con:

cat /etc/logrotate.conf
ls /etc/logrotate.d/

En muchas distribuciones encontrarás un archivo como /etc/logrotate.d/syslog o rsyslog que controla messages, cron y otros logs del sistema.

Un ejemplo típico de configuración podría ser:

/var/log/messages /var/log/cron {
    weekly
    rotate 4
    size 50M
    compress
    missingok
    notifempty
}

Ajustes recomendados para entornos educativos

Dependiendo de la carga de tu servidor (por ejemplo, un Moodle con muchos usuarios), puedes ajustar:

  • size 50M → cambiar a 20M o menos si el log crece muy rápido.
  • weekly → cambiar a daily en servidores con mucho tráfico.
  • rotate 4 → aumentar o disminuir el número de archivos históricos según tus necesidades de auditoría.

Por ejemplo, una configuración más agresiva podría ser:

/var/log/messages /var/log/cron {
    daily
    rotate 7
    size 20M
    compress
    delaycompress
    missingok
    notifempty
    create 0640 root root
}

Probar logrotate manualmente

Después de modificar la configuración, puedes forzar una rotación para comprobar que no haya errores:

logrotate -f /etc/logrotate.conf

Si todo funciona bien, a partir de ese momento la rotación se ejecutará automáticamente según lo configurado.


Controlar el tamaño de los logs de systemd-journald

Además de los archivos en /var/log, si tu sistema usa systemd, es muy probable que también tengas registros binarios gestionados por systemd-journald.

Puedes ver el uso de disco de los logs de journal con:

journalctl --disk-usage

Si encuentras que también ocupan demasiado, puedes limitar su tamaño:

journalctl --vacuum-size=1G

Esto reducirá el total de logs del journal a aproximadamente 1 GB, eliminando los más antiguos.

Para una configuración más permanente, puedes editar el archivo:

/etc/systemd/journald.conf

Y ajustar parámetros como:

SystemMaxUse=1G
SystemKeepFree=500M

Después, recarga el servicio:

systemctl restart systemd-journald

Buenas prácticas para servidores educativos y proyectos de tecnología aplicada a la educación

Si administras un servidor para Moodle, un sistema de tareas, un portafolio digital o cualquier proyecto de tecnología educativa, es importante incorporar la gestión de logs dentro de tu rutina de administración:

Monitoriza el espacio en disco regularmente

Usa comandos como:

df -h
du -sh /var/log/*

para detectar a tiempo qué archivos están creciendo demasiado.

Documenta tus cambios

Cada vez que ajustes logrotate o journald, deja constancia en tu documentación interna. Esto es especialmente útil si estás aprendiendo de forma autodidacta o colaboras con otros docentes/técnicos.

Integra la gestión de logs en tu proceso de formación

Si trabajas con estudiantes de informática, redes o sistemas, aprovechar estos casos reales para enseñar:

  • Cómo funcionan los logs.
  • Cómo diagnosticar problemas de rendimiento.
  • Cómo automatizar tareas con cron y logrotate.

También es un excelente material para cursos de aprendizaje autodidacta, talleres de Linux básico para docentes o módulos de administración de servidores para plataformas educativas.


Conclusión: Gestionar tus logs es parte de aprender y enseñar mejor con tecnología

Mantener bajo control los archivos de log en /var/log no es solo un tema técnico; es una pieza clave para garantizar que tus plataformas educativas se mantengan estables, rápidas y seguras.

Has visto cómo:

  • Vaciar logs grandes con truncate o : > archivo es más seguro que borrarlos.
  • Configurar logrotate evita que cron, messages y otros archivos crezcan sin límite.
  • Limitar el tamaño de systemd-journald ayuda a contener el uso de disco.
  • Todo esto se integra perfectamente con proyectos de tecnología aplicada a la educación.

Si te interesa seguir aprendiendo de forma autodidacta sobre Linux, servidores y herramientas para mejorar tus clases y cursos en línea, te invito a:

  • Explorar más guías prácticas sobre administración de sistemas para educación.
  • Aplicar estas técnicas en tus propios proyectos (Moodle, blogs, portafolios, aulas virtuales).
  • Compartir lo que aprendes con tu comunidad educativa.

La combinación de tecnología, educación y aprendizaje autodidacta es una de las formas más poderosas de transformar la experiencia de enseñanza y aprendizaje. ¡Da el siguiente paso y sigue profundizando en la administración de Linux al servicio de la educación!

author avatar
blogdecomputo.com

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *