从现在起,我如何监控哪些文件被访问/修改/创建/删除。(在实时模式下),类似于 fseventer / fslogger?
答案1
在 unix 系统上,你可以使用 inotify-tools,它建立在通知内核子系统 API。
经过通知等待您可以在标准输出上进行实时模式监控:
inotifywait -m -r -e access -e modify -e create -e delete --format 'PATH:%w%f EVENTS:%,e' {{path_to_monitor}}
笔记:
- -m:无限期监控
- -r:递归监视器
- -e:指定要监视的文件系统事件
- - 格式:指定命令的输出
示例(在监控目录上执行的命令,后跟实时 inotifywait 输出):
$ cd {{path_to_monitor}}
$ touch test
PATH:./test EVENTS:CREATE
$ rm test
PATH:./test EVENTS:DELETE