Cómo limpiar el espacio en disco del servidor Ubuntu

0 acciones
0
0
0
0

Introducción

¿Su servidor Ubuntu se está quedando sin espacio en disco?

¿Te gustaría limpiarlo y liberar espacio? Si es así, estás en el lugar indicado.

Muchos desarrolladores enfrentan el mismo problema que usted: implementaron una o dos aplicaciones pequeñas en su servidor Ubuntu, pero con el tiempo el espacio en disco se llena y están confundidos sobre qué hacer y cómo liberar su espacio en disco.

Hace poco estuve en una situación similar: tenía un servidor Ubuntu al 93 % de su capacidad de disco y el uso de disco para una pequeña aplicación de Django ejecutándose en el servidor era de unos 39 GB. Sabía que conseguir espacio de disco adicional no era una opción, ya que los archivos de la aplicación ocupaban menos de 1 GB.

Al final, tuve que pasar un día revisando todo el servidor y determinando qué directorios y programas ocupaban espacio en mi disco.

En este artículo, comparto mis pasos probados para encontrar archivos innecesarios y limpiar el espacio en disco del servidor Ubuntu.

Requisitos previos
  • Servidor con Ubuntu (por ejemplo, con Hetzner Cloud)
  • Acceso SSH al servidor
  • Acceso al usuario root o a un usuario con permisos sudo
Términos de ejemplo
  • Nombre de usuario: holu (su nombre de usuario del servidor)
  • Nombre del host:

Cómo limpiar el disco del servidor Ubuntu

En lo que respecta al uso del espacio en disco, el principal culpable suele ser el registro. El sistema operativo Ubuntu registra prácticamente todo, y muchas herramientas y frameworks para desarrolladores y servidores, como Celery y Nginx, también crean y almacenan registros en el servidor.

Estos informes, generados por varias herramientas y paquetes, suelen tener un tamaño de muchos gigabytes, ocupan espacio en disco y ralentizan el servidor.

Antes de pasar a los pasos prácticos, quiero señalar que no se debe eliminar la carpeta raíz del registro del sistema. Nunca se caiga en la tentación de eliminar simplemente la carpeta raíz del registro (/var/log/). Si lo hace, dañará muchas cosas que no desea.

Paso 1 – Verificar el espacio en disco

El primer paso es acceder al servidor Ubuntu mediante SSH. Puedes iniciar sesión con el siguiente comando:

Hola con tu nombre de usuario y Reemplace con la IP de su servidor.

ssh holu@<your_host>

Después de iniciar sesión, ejecute el siguiente comando para ver el uso del espacio en disco.

sudo du -cha --max-depth=1 / | grep -E "M|G"

Ejemplo de salida:

holu@<your_host>:~$ sudo du -cha --max-depth=1 / | grep -E "M|G"
2.8G /root
5.4G /usr
53M /tmp
9.8M /etc
203M /boot
du: cannot access '/proc/100209/task/100209/fd/4': No such file or directory
du: cannot access '/proc/100209/task/100209/fdinfo/4': No such file or directory
du: cannot access '/proc/100209/fd/3': No such file or directory
du: cannot access '/proc/100209/fdinfo/3': No such file or directory
2.5G /home
1.1M /run
307M /opt
522M /logs
11G /var
1.3G /snap
24G /
24G total

Como puede ver, este comando nos muestra detalles de alto nivel sobre el tamaño de varias carpetas/directorios en el disco.

Si observa el ejemplo de salida anterior, los principales usuarios de nuestro espacio de disco son /root, /usr, /home y /var. El directorio var ocupa 11 GB, lo cual representa una gran cantidad de espacio.

Paso 2 – Vaya al directorio var

El siguiente paso es ingresar a la carpeta /var usando el siguiente comando.

cd /var

A continuación, ejecute el siguiente comando para ver el uso del espacio en disco de todas las carpetas dentro de la carpeta /var. Esto nos ayudará a determinar con qué carpetas comenzar la limpieza.

sudo du -bsh *

Ejemplo de salida:

holu@<your_host>:/var$ sudo du -bsh *
2.7M backups
150M cache
4.0K crash
3.6G lib
4.0K local
9 lock
2.5G log
3.0G mail
4.0K opt
4 run
53K snap
52K spool
44K tmp
460M www

Cuando ejecuto ese comando en mi servidor, puedo ver que los directorios lib y log están utilizando la mayor parte del espacio en la carpeta /var.

Con esta información, puedo centrarme tanto en el directorio lib como en el directorio de registro para liberar espacio en mi disco duro.

Paso 3 – Vaya a cada directorio para eliminarlo

El siguiente paso es acceder a estos directorios y limpiarlos. En este artículo, me centraré únicamente en el directorio de registros, pero tenga en cuenta que puede aplicar los mismos pasos que aquí para limpiar cualquier otro directorio de su servidor Ubuntu.

Para borrar el directorio de registros, necesitamos eliminar el archivo de registro antiguo y otros archivos innecesarios del servidor. Para acceder al directorio de registros, ejecute el siguiente comando.

cd log

Entonces haz lo siguiente:

ls

Ejemplo de salida:

holu@<your_host>:/var$ cd log
holu@<your_host>:/var/log$ ls
alternatives.log fail2ban.log php7.4-fpm.log.5.gz
alternatives.log.1 fail2ban.log.1 php7.4-fpm.log.6.gz
alternatives.log.2.gz fail2ban.log.2.gz php7.4-fpm.log.7.gz
alternatives.log.3.gz fail2ban.log.3.gz php7.4-fpm.log.8.gz
alternatives.log.4.gz fail2ban.log.4.gz php7.4-fpm.log.9.gz
alternatives.log.5.gz faillog postgresql
alternatives.log.6.gz fontconfig.log private
apport.log installer supervisor
apport.log.1 journal syslog
apport.log.2.gz kern.log syslog.1
apport.log.3.gz kern.log.1 syslog.2.gz
apport.log.4.gz kern.log.2.gz syslog.3.gz
apport.log.5.gz kern.log.3.gz syslog.4.gz
apport.log.6.gz kern.log.4.gz syslog.5.gz
apport.log.7.gz landscape syslog.6.gz
apt lastlog 

El comando ls nos muestra todos los archivos en este directorio y como puede ver, hay muchos archivos de registro archivados en este directorio.

Luego verifique el tamaño de todos los archivos y carpetas en este directorio usando el siguiente comando.

sudo du -bsh *

Este es el mismo comando que usamos anteriormente, así que deberías ver una lista de todos los archivos y sus tamaños. Anota la carpeta del diario.

Paso 4: Eliminar archivos de registro antiguos

Lo siguiente que hacemos es eliminar todos los archivos de registro antiguos. Son fáciles de identificar y suelen tener la extensión .gz.

Usaremos un comando para encontrar todos los archivos .gz y eliminarlos de nuestro servidor.

Ejecute el siguiente comando para buscar y eliminar todos los archivos .gz y .log.1 en el directorio de registro.

sudo find -type f \( -name "*.log.1" -o -name '*.gz' \) -delete

Hazlo ahora:

ls

Debería ver un directorio de registros eliminados. También puede modificar este comando para eliminar diferentes tipos de archivos modificando el valor del atributo -name.

Aún no hemos terminado porque el directorio del diario ocupa mucho espacio en disco. Por lo tanto, necesitamos revisarlo y limpiar algunos archivos.

cd journal

Dentro del directorio del diario, verá una carpeta cuyo nombre suele ser una serie de números. Para eliminarla, podemos usar el siguiente comando.

Este comando reducirá el tamaño del directorio del diario a 100 MB, lo cual es un tamaño razonable.

sudo journalctl --vacuum-size=100M

Si desea una solución permanente al uso de un disco de diario, siga el proceso a continuación.

sudo nano /etc/systemd/journald.conf

En el archivo de configuración, elimine las configuraciones SystemMaxFileSize y SystemMaxFiles (elimine #) y configúrelas en 100. Así debería tener:

SystemMaxFileSize=100
SystemMaxFiles=100

A continuación, haga lo siguiente:

sudo service systemd-journald restart

Esto aplicará los cambios y eliminará los registros adicionales.

Paso 5 – Verificar la carpeta /var/lib

En mi experiencia, otro directorio que consume mucho espacio es el directorio /var/lib. Dependiendo de la cantidad de bibliotecas o herramientas instaladas en tu servidor Ubuntu, este directorio puede ocupar bastante espacio.

Una forma rápida de saber qué bibliotecas ocupan mucho espacio es ejecutar el siguiente comando.

sudo du -hs /var/lib/* | sort -hr | head -10

Este comando le mostrará las 10 carpetas de biblioteca más grandes en este directorio, luego puede usar esta información para continuar con su proceso de limpieza.

Debes eliminar por completo las bibliotecas o herramientas que no estés utilizando actualmente.

Conclusión

Como puede ver, limpiar su servidor Ubuntu no es tan difícil. Siguiendo los pasos anteriores, hemos limpiado con éxito nuestro directorio /var/log/. Siga los mismos pasos para limpiar otros directorios en la carpeta /var y podrá liberar mucho espacio en su servidor Ubuntu.

Deja una respuesta

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

También te puede gustar