是的,Linux的fsnotify可以定制通知类型
- 文件创建(CREATE):当文件或目录被创建时触发。
- 文件修改(MODIFY):当文件或目录的内容被修改时触发。
- 文件删除(DELETE):当文件或目录被删除时触发。
- 文件属性更改(ATTRIB):当文件或目录的属性(如所有者、权限等)被更改时触发。
- 目录内容更改(MOVED_FROM):当一个文件或目录从一个目录移动到另一个目录时触发。
- 目录内容移动(MOVED_TO):当一个文件或目录从另一个目录移动到当前目录时触发。
- 链接创建(LINK):当创建新链接时触发。
- 删除链接(RENAME):当重命名文件或目录时触发。
- 关闭文件描述符(CLOSE):当一个文件描述符被关闭时触发。
- 文件打开(OPEN):当打开文件时触发。
要定制通知类型,你需要使用inotifywait
命令来监听特定的事件,并使用inotifywatch
命令来设置事件的过滤规则。例如,以下命令将只显示文件创建和修改事件:
inotifywait -m -e create,modify /path/to/directory
你还可以使用inotifywatch
命令为特定事件设置计数器,以便在指定次数内发生相同事件时触发通知。例如,以下命令将在文件创建或修改事件连续发生3次时触发通知:
inotifywatch -m -r -e create,modify --timefmt '%d/%m/%y %H:%M' --format '%T %w %e %f' /path/to/directory 3
这里,-m
表示监视模式,-r
表示递归监视子目录,--timefmt
和--format
用于自定义输出格式。