Je cours un démon qui analyse les fichiers dans un répertoire puis les supprime. Dans le cas où le démon ne fonctionne pas pour une raison quelconque, les fichiers sont empilés là-bas. Aujourd'hui, j'avais 90k fichiers dans ce répertoire. Après avoir redémarré le démon, il a traité tous les fichiers.Comment "défragmenter" un répertoire sur ext3?
Cependant, le répertoire reste grand; "ls -dh." renvoie une taille de 5,6M. Comment puis-je "défragmenter" ce répertoire? J'ai déjà compris que renommer ce répertoire, et en créer un nouveau avec le même nom et les mêmes permissions résout le problème. Cependant, comme les fichiers y sont écrits à tout moment, il ne semble pas y avoir de moyen sûr de renommer le répertoire et d'en créer un nouveau car, pour un instant, le répertoire cible n'existe pas. Donc a) existe-t-il un programme way/a (shell) qui peut défragmenter les répertoires sur un système de fichiers ext3? ou b) existe-t-il un moyen de créer un verrou sur un répertoire afin que l'écriture de fichiers se bloque tant que le renommage/création n'est pas terminé?
Btw.apparemment, vous pouvez utiliser la commande "filefrag" pour vérifier si un répertoire est fragmenté. – oliver
Voir également http://serverfault.com/questions/264124/shrink-reset-directory-size et http://unix.stackexchange.com/questions/38639/how-to-compact-a-directory – oliver