如何在 Linux 上实时监控哪些文件被访问、创建、修改和删除?

如何在 Linux 上实时监控哪些文件被访问、创建、修改和删除?

从现在起,我如何监控哪些文件被访问/修改/创建/删除。(在实时模式下),类似于 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

相关内容