El otro día en mi servidor de producción, donde realmente tengo este blog funcionando, me llegaron unas notificaciones al correo informándome de que la partición /dev/sda1
se estaba acercando al 80% de espacio ocupado.
Esto lo supe gracias a un programa de monitorización llamado Munit. Seguramente de este programa hablaremos algún día y seguramente os traeré diferentes configuraciones interesantes. La notificación decía lo siguiente:
Resource limit matched Service root
Date: Sat, 10 Feb 2018 09:37:58
Action: alert
Host: FreyaServer
Description: space usage 80.1% matches resource limit [space usage>80.0%]
Monit FreyaServer
Tras la notificación pensé en que sería interesante mirar de liberar algo de espacio y mirar que directorios y ficheros están ocupando más. A veces, sin darnos cuenta, algunos ficheros de log pueden llegar ocupar gigas, en ocasiones debido a una mala configuración.
De este modo, aprovechamos para hacer algo de espacio y mirar si este aumento de espacio es algo normal o debido a alguna configuración extraña. Como en cualquier proceso en el servidor, una de las cosas que vamos hacer primero es crear un snapshot del servidor para evitar problemas luego.
Lo primero de todo, es ejecutar un df -h
para ver como está actualmente el servidor:
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 25G 19G 4.9G 80% /
Como que mi servidor es únicamente servidor web, hay varios directorios que tendremos que mirar, el DocumentRoot configurado, que en mi caso es /var/www/html/vhosts
. También /var/log
, que es el directorio donde se guardan todos los registros del servidor.
Lo primero que miramos es que directorios desde la raíz ocupan más espacio en el servidor:
du -sh ./* | grep G
14G ./home
1.1G ./usr
3.2G ./var
Teniendo en cuenta que el disco duro es de 25GB y que el sistema operativo -Debian 8- puede ocupar 5GB aproximadamente, queda claro de donde podemos liberar espacio ¿Verdad? 😛
Aún así, como yo que se hay en el servidor, primero vamos a mirar /var
y mirar si hay muchos registros guardados.
Si ejecutamos el mismo comando anterior en /var
nos daremos cuenta que de esos 3,2G, 2,1GB se la lleva la carpeta /var/www
y luego:
235M ./cache
833M ./lib
2.1G ./www
Dicho esto, una de las cosas que podemos hacer es vaciar la cache de APT, ya que hay un espacio ocupando:
du -sh /var/cache/apt/archives
246M /var/cache/apt/archives
Para vaciar la cache de APT:
apt-get clean
apt-get autoclean
El tamaño de /var/lib
es normal, esos 833M son debidos a que en /var/lib/mysql
tenemos las bases de datos de las webs que podamos tener. Otro directorio que vemos que ocupa mucho es /var/www/
aquí es donde tengo las webs, así que ni vamos a mirar.
¿Y que tengo en /home para que ocupe 14G? Pues tengo la carpeta de datos del NextCloud. Y mirando, vemos que hay una carpeta llamada updater-oc9b0ypzbria/backups
donde podemos borrar cosas para hacer espacio.
Luego, si miramos los ficheros que tenemos en nuestro usuario de NextCloud, podemos observar lo siguiente:
du -sh ./*
72K ./cache
8.5G ./files
295M ./files_encryption
772K ./files_external
2.2G ./files_trashbin
1.1G ./files_versions
¿files_trashbin? ¡Guarda todos los ficheros eliminados! Borramos también estos ficheros, aunque mejor hacerlo desde la web, por si guarda registros en la base de datos.
Una vez los hemos borrado, comprobamos:
du -sh ./*
72K ./cache
8.5G ./files
295M ./files_encryption
772K ./files_external
8.0K ./files_trashbin
1.1G ./files_versions
Lo siguiente consiste en mirar si hay ficheros que tenemos subidos en nuestra nube personal tienen sentido que estén allí. Y sinceramente, yo he visto muchos ficheros.
Tras borrar varios ficheros de la nube nos quedamos con lo siguiente:
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 25G 16G 8.0G 67% /
Como curiosidad, podéis ejecutar también este comando:
du -a / | sort -n -r | head -n 10
Eso básicamente nos mostrará cuales son los 10 archivos y carpetas más grandes desde la raíz y los muestra ordenados por tamaño.
Conclusión
Como podemos ver hemos liberado bastante espacio. Hemos observado por ejemplo, que en /var/log
no había nada raro ya que la rotación de los logs es correcta. Yo he llegado ver algún que otro log que llegó a ocupar 146G por no tener la rotación activada.
Finalmente, comentar que los servidores están, entre muchas otras cosas, para ofrecer servicios, ya sea de correo o de Web y no tenemos que tener la mala manía de tener el directorio /root
como si fuera nuestro escritorio: lleno de ficheros sin sentido.
Comentarios