<分区>
我想加速如下查询:
find root_dir -atime -5
- 查找不到五天前访问过的文件。
我考虑将文件系统层次结构和文件元数据存储在数据库中。 您知道任何可以提供帮助的解决方案吗? 也许存在可以执行此操作的 fuse 文件系统?
<分区>
我想加速如下查询:
find root_dir -atime -5
- 查找不到五天前访问过的文件。
我考虑将文件系统层次结构和文件元数据存储在数据库中。 您知道任何可以提供帮助的解决方案吗? 也许存在可以执行此操作的 fuse 文件系统?
最佳答案
这样的查找命令会导致遍历的目录数据和 inode 位于文件系统缓存中,这就是为什么当您第二次运行相同的命令时通常要快得多的原因第二次。这同样适用于遍历文件系统的其他命令,例如 du
。
请注意,您的数据库的建立至少也需要花费 find
的时间。更不用说同步运行以反射(reflect)数据库中的文件系统更改。完全重建数据库很可能是执行此操作的最快方法。
因此,我要做的是通过文件系统中您感兴趣的部分运行 find
(可能使用定期的 cron 作业)。这样,在某种意义上,您可以在内存中建立一个“数据库”,随后的 find
、du
之类的东西会运行得更快。
关于linux - 文件系统加速 - 'find' 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20440430/