我正在运行一个守护进程,它分析目录中的文件,然后删除它们。万一守护进程由于某种原因没有运行,文件就会堆积在那里。今天我在那个目录中有 90k 个文件。再次启动守护程序后,它处理了所有文件。
但是,目录仍然很大;“ls -dh。” 返回大小为 5.6M。如何“整理”该目录?我已经发现重命名该目录,并创建一个具有相同名称和权限的新目录可以解决问题。但是,随着文件随时写入其中,似乎没有一种安全的方法来重命名目录并创建一个新目录,因为暂时不存在目标目录。
所以a)有没有一种方法/一个(shell)程序可以对ext3文件系统上的目录进行碎片整理?或b)有没有办法在目录上创建一个锁,以便尝试写入文件块直到重命名/创建完成?