如何在Linux(ext3文件系统)中监视整个目录树的变化?
目录中大约有30,000个子目录,组织在三个目录级别中,包含大约一百万个文件。
这些文件大多数很小(<1KB,有些少于100KB)。它们构成了一个队列,我需要在文件创建、删除或修改内容后的5-10秒内得到通知。
我知道有inotify等工具,但据我所知它们只能监视单个目录,这意味着我需要在我的情况下使用3,000个inotify句柄,超过了单个进程允许的通常的1024个句柄限制。我是否错了?
如果Linux系统无法满足我的需求:也许有一个FUSE项目可以模拟一个文件系统(复制真实文件系统上所有文件访问),并单独记录所有修改(找不到这样的项目)?
move
事件:inotifywait -e modify,create,delete,move -r /path/to/your/dir
- famzahm
标志,它只会输出到stdout
,我们无法使用该触发器执行任何命令。因此,如果您想在观察到任何事件后执行某些操作,那么while
循环是否更好? - NewHere