在CentOS系统中,inotify(Linux内核子系统)可以监控多种类型的文件和目录事件。以下是可以被inotify监控的文件类型:
普通文件:
目录:
符号链接:
设备文件(如 /dev/sda):
套接字文件(如 /var/run/myapp.sock):
命名管道(FIFO):
inotify可以监控以下几种事件:
IN_ACCESS:
IN_MODIFY:
IN_ATTRIB:
IN_CLOSE_WRITE:
IN_CLOSE_NOWRITE:
IN_OPEN:
IN_MOVED_FROM:
IN_MOVED_TO:
IN_CREATE:
IN_DELETE:
IN_DELETE_SELF:
IN_MOVE_SELF:
以下是一个简单的Python示例,使用inotify库来监控一个目录:
import inotify.adapters
i = inotify.adapters.Inotify()
i.add_watch('/path/to/directory')
try:
for event in i.event_gen(yield_nones=False):
(_, type_names, path, filename) = event
print(f'PATH=[{path}] FILENAME=[{filename}] EVENT_TYPES={type_names}')
except KeyboardInterrupt:
pass
通过这种方式,你可以轻松地在CentOS系统上实现对各种文件和目录事件的监控。