Blog

Tamaño de metadatos de un directorio en Linux

Tamaño de metadatos de un directorio en Linux

Tenemos un directorio temporal en el que se almacenan sesiones de PHP como ficheros, con un formato tal que asi: sess_8scb992k7jks3bsfhnpbmtthn3 Habia tantos que no se podian borrar con el tradicional rm. Al final un compañero utilizó esta respuesta:
cd yourdirectory
perl -e 'for(<*>){((stat)[9]<(unlink))}'
[/code]

Al terminar, el espacio ocupado por metadatos seguía igual:

[code]
[root cms-prod tmp]# ll
total 0
[root cms-prod tmp]# cd ..
[root cms-prod var]# ls -lh
total 543M
...
drwxr-xr-x  2 root   root   543M Jul 21 10:29 tmp
[/code]



Leyendo en <a href="https://unix.stackexchange.com/a/49615">este otro enlace</a>:



<blockquote>
Directory sizes can also grow dynamically as they get filled, but once filled the space reserved for meta-data cannot be re-allocated without removal of the directory.
</blockquote>

Así que:

[code]
[root cms-prod var]# rm -rf tmp
[root cms-prod var]# mkdir tmp
[root cms-prod var]# ll
total 44
...
drwxr-xr-x  2 root   root    4096 Jul 21 10:33 tmp