当目录增长超过一定大小限制时,我需要执行一些操作。
显然,可以使用 来获取大小du
,但在我的情况下,单次运行du
需要很长时间,加载磁盘相当多,并且不会给出“即时”反馈。
可以为树中的每个文件和目录设置inotify,将结果求和,并将求和值保存在内存中,但如果手工完成,工作量会很大。
有没有办法高效地“监听尺寸变化”?
答案1
您可能无法使用此方法,但在评估大量文件的总大小时,它的df
效率要高得多du
(因为它使用文件系统的内置大小总计,而不是重新测量每个单独文件的大小) )。
为了实现这一点,您可以为此目录下的文件创建一个单独的文件系统,并将该文件系统挂载到类似的位置/data/somedir
(并从该目录的常用位置设置到挂载点的符号链接)。当然,并将文件移动到那里。现在df
可以作为一种轻量级且快速的方式来查看此文件集合的更改。