如何“监听”目录大小变化?

如何“监听”目录大小变化?

当目录增长超过一定大小限制时,我需要执行一些操作。

显然,可以使用 来获取大小du,但在我的情况下,单次运行du需要很长时间,加载磁盘相当多,并且不会给出“即时”反馈。

可以为树中的每个文件和目录设置inotify,将结果求和,并将求和值保存在内存中,但如果手工完成,工作量会很大。

有没有办法高效地“监听尺寸变化”?

答案1

您可能无法使用此方法,但在评估大量文件的总大小时,它的df效率要高得多du(因为它使用文件系统的内置大小总计,而不是重新测量每个单独文件的大小) )。

为了实现这一点,您可以为此目录下的文件创建一个单独的文件系统,并将该文件系统挂载到类似的位置/data/somedir(并从该目录的常用位置设置到挂载点的符号链接)。当然,并将文件移动到那里。现在df可以作为一种轻量级且快速的方式来查看此文件集合的更改。

相关内容