Tienes un negocio en Chile, tu sitio en tuempresa.cl estaba funcionando perfecto y, de un día para otro, empieza a lanzar errores: el formulario de contacto no envía, el correo rebota y en el panel no puedes subir ni una imagen. Antes de asustarte, revisa lo más simple: puede que tu VPS tenga el disco lleno. Es una situación muy común y, con un poco de método, la puedes resolver tú mismo en una tarde.
Esta guía es de nivel intermedio. Usaremos la terminal por SSH, pero cada comando se explica, así que puedes seguirla aunque no seas experto en servidores.
Qué pasa cuando un servidor se queda sin espacio
Tu VPS tiene una cantidad fija de almacenamiento y todo comparte ese lugar: los archivos de tu web, las bases de datos, los correos, los respaldos, los registros del sistema y hasta los programas instalados. Cuando el espacio se acaba, los servicios no pueden escribir datos nuevos. El resultado son fallas que parecen no tener relación entre sí: la web cae, MySQL se detiene, los mensajes no se guardan.
La clave está en actuar con orden. Primero se mide, luego se localiza lo que ocupa espacio, después se decide qué se puede eliminar y solo al final se borra. Nunca al revés.
Paso 1: conéctate y mide con df
Abre tu terminal y entra al servidor:
ssh usuario@IP-de-tu-servidor
Luego ejecuta este comando, que muestra el uso de cada partición en un formato legible:
df -h
Busca la línea de la partición / y fíjate en Use%. Si está sobre el 90%, ya es momento de intervenir; si marca 100%, es una urgencia. Anota el valor para comparar cuando termines.
Paso 2: encuentra las carpetas más pesadas
El siguiente comando lista las carpetas principales de mayor a menor tamaño:
sudo du -h –max-depth=1 / 2>/dev/null | sort -hr | head -15
Puede demorar un poco, así que ten paciencia. Si aparece /var en los primeros lugares, es probable que los responsables sean registros o bases de datos. Si aparece /home, revisa tus sitios y los respaldos.
Ahora profundiza en la carpeta más grande:
sudo du -h –max-depth=1 /var | sort -hr | head -10
Repite el proceso las veces que haga falta. En pocos saltos vas a dar con la carpeta o el archivo que se está llevando el espacio.
Paso 3: controla los registros (logs)
Los logs son los sospechosos habituales. Cada visita, cada error y cada intento de acceso se anota, y si nadie los limpia, terminan ocupando gigabytes. Mira cuáles son los mayores:
sudo ls -lhS /var/log | head -10
Para el registro general del sistema, puedes limitar su tamaño así:
sudo journalctl –vacuum-size=200M
Y si un archivo de log concreto está enorme y no lo necesitas, vacíalo sin borrarlo:
sudo truncate -s 0 /var/log/nombre-del-archivo.log
De esta forma el servicio que lo utiliza no se entera y sigue trabajando. Si crees que podrías necesitar ese contenido, guarda antes una copia comprimida en tu computador.
Paso 4: elimina los archivos viejos que nadie recuerda
Aquí suele estar el mayor ahorro. Busca los archivos que pesen más de 500 MB:
sudo find / -type f -size +500M 2>/dev/null
Fíjate en los que terminan en .zip, .tar.gz, .sql o .bak: generalmente son respaldos antiguos o exportaciones de bases de datos. Antes de eliminar, responde tres preguntas:
- ¿Sé qué es y quién lo generó?
- ¿Tengo una copia más reciente guardada en otro lugar?
- ¿Puedo descargarlo primero a mi computador?
Si todas las respuestas son afirmativas, descárgalo y luego bórralo del servidor. Recuerda que un respaldo guardado en el mismo disco que tu web no te protege de verdad; lo ideal es que vivan en lugares distintos.
Paso 5: limpia los paquetes descargados
Cada vez que actualizas el sistema, quedan instaladores acumulados. En Debian o Ubuntu ejecuta:
- sudo apt clean, que borra la caché de paquetes.
- sudo apt autoremove, que elimina programas que quedaron sin uso.
Si tu VPS funciona con AlmaLinux o Rocky Linux, usa sudo dnf clean all. Es una limpieza segura que suele liberar bastante espacio sin riesgo alguno.
Paso 6: revisa los inodos
Hay un caso confuso: df -h muestra espacio libre, pero el sistema igual dice «no space left on device». La causa suele ser que se agotaron los inodos, es decir, la cantidad máxima de archivos que el sistema puede registrar. Se consumen cuando hay muchísimos archivos pequeños, como sesiones o cachés. Comprueba con:
df -i
Si el porcentaje de IUse% está cerca de 100%, identifica la carpeta con más archivos y elimina los temporales antiguos, por ejemplo las sesiones de PHP vencidas o la caché de tu aplicación.
Paso 7: reinicia servicios y verifica
Repite df -h y compara con el valor inicial. Lo recomendable es mantener el uso bajo el 80%. Después reinicia los servicios que hayan quedado afectados:
sudo systemctl restart apache2 (o nginx) y sudo systemctl restart mysql.
Visita tu sitio en tuempresa.cl, envía un correo de prueba y sube una imagen desde el panel. Si aún hay errores, consulta los registros del servicio: con espacio disponible, ya podrán mostrarte la causa real.
Prevención: que no te vuelva a pasar
Limpiar una vez sirve para salir del apuro, pero lo mejor es establecer una rutina:
- logrotate: revisa los archivos de /etc/logrotate.d/ y define cuántas semanas de registros conservar.
- Respaldos con orden: guarda solo las últimas copias y envía las demás a un almacenamiento externo.
- Revisión mensual: agenda ejecutar df -h una vez al mes; toma menos de un minuto.
- Alerta por correo: un script sencillo con cron puede avisarte cuando el disco supere el 85%.
Si atiendes a clientes con sus propios sitios, esta rutina te deja mucho más tranquilo y demuestra profesionalismo.
Errores que debes evitar
- No ejecutes rm -rf con prisa. Revisa la ruta dos veces antes de presionar Enter.
- No borres a mano los archivos de las bases de datos; utiliza siempre el gestor de MySQL o MariaDB.
- No elimines carpetas del sistema que no reconozcas.
- No hagas limpiezas grandes sin un respaldo reciente y verificado.
Y si de verdad necesitas más espacio
Si ya limpiaste todo lo prescindible y el disco continúa casi lleno, no significa que hayas cometido un error. Tu negocio creció: más fotos, más productos, más correos. Lo sensato entonces es ampliar el almacenamiento de tu VPS y trabajar con holgura, en lugar de estar apagando incendios todos los meses.
Un ejemplo práctico para entender los resultados
Imagina que df -h muestra tu partición principal al 96%. Al ejecutar du sobre la raíz, la carpeta /home pesa 24 GB de un total de 30 GB. Entras un nivel más y ves que la carpeta de tu sitio contiene un directorio de respaldos con 18 GB de archivos .tar.gz de los últimos ocho meses. Descargas los tres más recientes a tu computador, eliminas los demás y el uso baja a 40%. En muchos casos, la explicación es tan directa como esta: un solo directorio olvidado.
Qué hacer si tu base de datos es la que crece
Puede ocurrir que el espacio lo consuma la base de datos, sobre todo en sitios con mucho movimiento, como tiendas o portales con comentarios. Revisa el tamaño de la carpeta de datos, normalmente /var/lib/mysql, con du. Si es grande, hay dos caminos:
- Depurar tablas innecesarias: registros de sesiones, revisiones antiguas o datos temporales de plugins se pueden limpiar desde tu aplicación, con un respaldo previo.
- Ampliar el almacenamiento: si los datos son legítimos y valiosos, lo correcto es dar más espacio a tu VPS.
Nunca borres archivos dentro de esa carpeta a mano: puedes dejar la base de datos inutilizable. Usa siempre las herramientas del propio gestor.
Checklist rápido para tener a mano
- Mide con df -h y anota el porcentaje inicial.
- Rastrea con du hasta encontrar el directorio culpable.
- Descarga a tu computador lo que quieras conservar.
- Vacía logs con truncate y limita el journal.
- Limpia paquetes con apt clean y autoremove.
- Comprueba los inodos con df -i.
- Reinicia servicios y verifica tu sitio.
Imprime o guarda esta lista: cuando el servidor falla, tener el orden claro evita improvisar bajo presión.
Un pequeño script que te avisa antes de que sea tarde
Para no depender de tu memoria, puedes automatizar un aviso. Crea un archivo llamado alerta-disco.sh con este contenido:
#!/bin/bash
USO=$(df / –output=pcent | tail -1 | tr -dc ‘0-9’)
if [ «$USO» -gt 85 ]; then echo «Disco al ${USO}%» | mail -s «Alerta de disco» tucorreo@ejemplo.com; fi
Dale permisos de ejecución con chmod +x alerta-disco.sh y prográmalo con cron para que corra una vez al día. Cada mañana el sistema revisa el porcentaje de uso y, si supera el 85%, te envía un mensaje. Necesitas tener configurado el envío de correo en el servidor para que funcione. Si no lo tienes, puedes hacer que el script escriba en un archivo o que llame a un servicio de notificaciones de tu preferencia.
Este sencillo control cambia por completo tu forma de trabajar: en lugar de descubrir el problema cuando la web ya falló, lo ves venir con días de anticipación.
Conclusión
Ya tienes el método completo: medir con df, buscar con du, controlar logs, limpiar paquetes, revisar inodos y dejar hábitos de prevención. Con esta rutina, tu servidor se mantiene ordenado y tu sitio .cl seguirá en línea sin sobresaltos. Haz hoy tu primera revisión, aunque todo parezca estar bien: es la mejor manera de que un problema pequeño nunca se convierta en una emergencia.
