Estás por publicar una novedad en tu tienda y el panel te frena: “no se pudo guardar el archivo”. Revisás el correo y los mensajes no llegan. Al final descubrís la causa: el servidor se quedó sin espacio. Si administrás un VPS con tu sitio en un dominio .com, .net u .org, es muy probable que alguna vez te toque enfrentar un disco lleno. La buena noticia es que casi siempre se arregla sin perder datos, y acá te muestro cómo hacerlo ordenadamente.
Esta guía es de nivel intermedio: vas a usar la terminal, pero cada comando viene explicado. Si nunca entraste por SSH, tranquilo, te lo cuento también.
Entendé el problema antes de tocar nada
Un VPS te da un espacio de almacenamiento fijo, y todo compite por él: tus sitios, las bases de datos, el correo, los respaldos y los archivos del sistema. Cuando se completa, aparecen síntomas muy variados: errores 500, formularios que no envían, bases de datos que se cortan, correos rebotados. Por eso es tan fácil confundirse y buscar el problema en el lugar equivocado.
Lo primero es confirmar que efectivamente se trata del espacio. Y lo segundo, no borrar a ciegas. Si eliminás carpetas al azar, podés dañar el sistema o perder información de clientes. Vamos a seguir un método: medir, encontrar, decidir y recién después limpiar.
Paso 1: medí el espacio con df
Conectate a tu servidor con SSH, usando tu usuario y la dirección IP:
ssh usuario@IP-de-tu-servidor
Ya adentro, escribí:
df -h
El resultado es una lista de particiones. La que te interesa es la montada en /. Mirá el porcentaje de la columna Use%. Por encima de 90% tenés que actuar hoy; en 100% ya estás en emergencia. Copiá ese dato en un bloc de notas, porque te va a servir de comparación al terminar.
Paso 2: rastreá a los responsables con du
Ahora vamos a ver qué carpetas pesan más. Ejecutá:
sudo du -h –max-depth=1 / 2>/dev/null | sort -hr | head -15
Esperá unos instantes. Vas a obtener las carpetas ordenadas de mayor a menor. Si el primer puesto lo ocupa /var, probablemente sean logs o bases de datos; si es /home, seguramente son tus sitios, respaldos o archivos subidos por usuarios.
Entrá al siguiente nivel repitiendo el comando sobre la carpeta ganadora, por ejemplo:
sudo du -h –max-depth=1 /home | sort -hr | head -10
Repetí hasta llegar a un archivo o carpeta concreta. Con dos o tres vueltas vas a saber exactamente dónde está el espacio perdido.
Paso 3: buscá archivos gigantes de una sola vez
Si preferís un atajo, este comando encuentra todos los archivos de más de 300 MB en el sistema:
sudo find / -type f -size +300M -exec ls -lh {} \; 2>/dev/null
Prestá atención a extensiones como .zip, .tar.gz, .sql o .bak. Casi siempre son copias de seguridad viejas o exportaciones de bases de datos que alguien dejó olvidadas. Este es el hallazgo más frecuente en servidores que llevan meses funcionando sin revisión.
Antes de eliminar cualquier cosa, descargá una copia a tu computadora o a un almacenamiento externo. Un archivo que ocupa lugar en el servidor pero que vale la pena conservar merece vivir en otro lado.
Paso 4: ordená los logs
Los registros crecen sin parar y son la causa número uno de discos llenos. Revisá los más pesados:
sudo ls -lhS /var/log | head -10
Para limitar el registro del sistema, ejecutá:
sudo journalctl –vacuum-size=200M
Para un log de aplicación específico que ya no necesitás, la forma segura de vaciarlo es:
sudo truncate -s 0 /var/log/archivo.log
Este método es mejor que borrar el archivo, porque el servicio que lo escribe sigue funcionando normalmente. Si querés conservar el contenido, comprimilo antes con gzip y descargalo.
Paso 5: liberá lo que dejó el gestor de paquetes
Cada actualización deja instaladores descargados. En Debian o Ubuntu ejecutá:
- sudo apt clean para eliminar la caché de paquetes.
- sudo apt autoremove para quitar programas que ya nadie usa.
Si tu servidor usa AlmaLinux, Rocky o CentOS, el comando equivalente es sudo dnf clean all. Es una limpieza segura y muchas veces libera cientos de megas.
Paso 6: desconfiá cuando hay espacio pero igual falla
Si df -h indica espacio libre y sin embargo el sistema sigue quejándose, puede que se hayan agotado los inodos. Cada archivo, por chiquito que sea, consume uno, y una carpeta con cientos de miles de archivos temporales puede agotarlos. Verificalo con:
df -i
Si IUse% está muy alto, localizá la carpeta con más archivos y vaciá lo que sea temporal, como sesiones de PHP viejas o cachés de tu aplicación. Muchas veces es la explicación de esos casos raros en los que “hay lugar pero no deja guardar”.
Paso 7: reiniciá servicios y probá todo
Con el espacio recuperado, volvé a correr df -h y comparalo con lo que anotaste. Apuntá a quedar por debajo del 80%. Luego reiniciá los servicios que se hayan trabado:
sudo systemctl restart nginx (o apache2) y sudo systemctl restart mariadb (o mysql).
Abrí tu sitio, probá un formulario, enviá un correo de prueba y revisá que puedas subir un archivo desde el panel. Si algo persiste, mirá los registros de errores: ahora que hay lugar, van a mostrar el motivo verdadero.
Cómo evitar que vuelva a llenarse
La limpieza puntual es un parche; lo que realmente te da tranquilidad es un sistema de mantenimiento. Estas son las prácticas que más resultado dan:
- Rotación de logs: revisá la configuración de logrotate en /etc/logrotate.d/ y definí cuántas semanas conservar.
- Política de respaldos: guardá solo las últimas copias y enviá el resto a un almacenamiento externo.
- Agenda mensual: reservá cinco minutos por mes para ejecutar df -h y du.
- Alerta automática: con un script simple y cron podés recibir un correo cuando el uso pase del 85%.
Si trabajás con clientes, esta rutina también es un argumento de venta: ofrecer mantenimiento preventivo te diferencia y te da ingresos recurrentes.
Lo que no tenés que hacer
- No uses rm -rf apurado y sin releer la ruta. Un error de tipeo puede ser irreversible.
- No borres archivos de bases de datos a mano; usá siempre las herramientas del propio gestor.
- No elimines carpetas de sistema que no reconozcas.
- No hagas limpiezas grandes sin un respaldo reciente y comprobado.
Cuando el espacio simplemente se quedó chico
Si ya limpiaste todo lo prescindible y seguís al límite, no significa que hayas hecho algo mal: tu proyecto creció. Más imágenes, más productos, más cuentas de correo. En ese caso, la decisión sensata es ampliar el almacenamiento de tu VPS y trabajar con margen, en vez de vivir al borde de un nuevo corte.
Preguntas frecuentes sobre el disco lleno
¿Puedo borrar la carpeta /var/log completa?
No. Muchos servicios esperan que ciertos archivos y carpetas existan allí. Lo correcto es vaciar los archivos pesados con truncate o limitar el journal, pero mantener la estructura de carpetas intacta.
¿Cuánto espacio libre conviene dejar?
Una buena referencia es no pasar del 80% de uso. Ese margen permite que los respaldos, las actualizaciones y los archivos temporales tengan lugar sin generar emergencias.
¿Se pierden datos al reiniciar los servicios?
No, reiniciar Apache, Nginx o MySQL no borra información. Solo interrumpe el servicio por unos segundos. Igual, hacelo en un horario tranquilo si tu sitio tiene mucho movimiento.
¿Qué hago si no puedo ni conectarme por SSH?
Puede pasar cuando el disco está al 100% y el sistema no logra ni escribir la sesión. Probá entrar desde la consola de emergencia que ofrece el panel de tu VPS. Ahí ejecutás los mismos comandos de esta guía y recuperás el acceso normal en cuanto liberes un poco de lugar.
¿Cada cuánto debería revisar el espacio?
Una vez por mes alcanza para un sitio con movimiento normal. Si subís muchos archivos o publicás contenido a diario, hacelo cada semana durante los primeros meses hasta conocer el ritmo de crecimiento de tu servidor.
¿Comprimir los respaldos ayuda?
Muchísimo. Un respaldo comprimido con gzip suele ocupar entre un tercio y la mitad del original. Si tu herramienta de copias permite compresión, activala y vas a ganar espacio sin perder nada.
Una herramienta que te ahorra tiempo: ncdu
Si repetir el comando du te resulta pesado, existe un programa llamado ncdu que hace lo mismo de forma interactiva. Se instala con sudo apt install ncdu en Ubuntu o Debian. Luego lo ejecutas con sudo ncdu / y te muestra las carpetas ordenadas por tamaño. Con las flechas del teclado entras en una carpeta, y con Enter bajas al siguiente nivel. Para volver, presionas la flecha izquierda. Es como recorrer el explorador de archivos de tu computadora, pero dentro de la terminal.
La herramienta tarda un poco en escanear en la primera pasada, pero después navegar es instantáneo. Además, incluye una opción para borrar directamente desde ahí con la tecla d; úsala con mucho cuidado y solo sobre archivos que tengas identificados. Para principiantes en la terminal, ncdu es una manera amigable de encontrar al culpable sin memorizar comandos largos.
Cierre
Ya sabés cómo enfrentar un disco lleno: medir con df, rastrear con du, ordenar los logs, limpiar paquetes, controlar inodos y establecer hábitos de prevención. Es un conjunto de pasos simple que, una vez incorporado, te hace administrar tu servidor con mucha más seguridad. Probalo hoy mismo con tu VPS, aunque no tengas ningún problema: ver el estado de tu disco es la mejor forma de que nunca te agarre desprevenido.
