df no muestra espacio correctamente después de borrar un fichero
En mi día a día de trabajo con servidores GNU Linux, me encuentro con nuevos casos, que dificilmente te explican cuando estudias administración de sistemas o cuando cursas la certificación de turno. Recientemente me he encontrado con el caso de una alerta en un servidor, por ocupación de espacio en disco. El caso es que una vez encontramos el fichero culpable de la ocupación, utilizando la combinación de comandos du y find, que ya expliqué en su día, procedimos aliminarlo. Aún así utilizando el comando df, nos seguía mostrando que el disco seguía lleno. Paso a relatar la solución a este poltergeist.
Solventar df no muestra espacio en disco correctamente, después de borrar un fichero
El problema es debido que aunque nosotros hayamos eliminado, en teoría el fichero, este sigue existiendo, ya que todavía hay procesos en el sistema que lo utilizan. Podemos comprobarlo utilizando la herramienta lsof
De la siguiente manera:
lsof +L1
Un ejemplo del resultado sería el siguiente:
[root@davidochobits ~]# lsof +L1
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NLINK NODE NAME
apache 1009 root 1w REG 8,1 7342581896 0 69943199 /var/log/httpd/console.log (deleted)
apache 1009 root 2w REG 8,1 7342581896 0 69943199 /var/log/httpd/console.log (deleted
Observamos entre paréntesis la mención a «deleted»
Otra opción sería utilizando el comando ps, de la siguiente manera:
ps -ef | grep -i "nombre fichero"
Una vez localizado el proceso o procesos, los podemos «matar» mediante el comando kill
kill -9 "numero de procesos"
Añadiendo el parámetro «-9» le decimos que queremos matar también todos sus procesos «hijos»
Y esto es todo. Espero que en algún momento os sea de utilidad. Nos vamos leyendo ^.^
Fuentes | serverfault.com