linux下inotify操作

本文介绍了Linux中的Inotify机制,包括其概述、可监视的文件系统事件、内核版本支持和默认内核参数。Inotify是用于文件系统监控的技术,从kernel 2.6.13开始被支持。文章还展示了如何在shell下使用inotifywait和inotifywatch,以及如何通过incron实现配置文件的监控。
摘要由CSDN通过智能技术生成
linux下inotify操作

1. Inotify 机制概述

1.1. Inotify 介绍

在日常的运维过程中,经常需要备份某些文件,或者对系统的某些文件进行监控,比如重要的配置文件等。如果需要作到实时同步或者监控,就需要使用内核的inotify机制
Inotify 是基于inode级别的文件系统监控技术,是一种强大的、细粒度的、异步的机制,它满足各种各样的文件监控需要,不仅限于安全和性能

  • Inotify 不需要对被监视的目标打开文件描述符,而且如果被监视目标在可移动介质上,那么在 umount 该介质上的文件系统后,被监视目标对应的 watch 将被自动删除,并且会产生一个 umount 事件。
  • Inotify 既可以监视文件,也可以监视目录。
  • Inotify 使用系统调用而非 SIGIO 来通知文件系统事件。
  • Inotify 使用文件描述符作为接口,因而可以使用通常的文件 I/O 操作select 和 poll 来监视文件系统的变化。

1.2. Inotify 可监视的文件系统事件

  • IN_ACCESS : 即文件被访问
  • IN_MODIFY : 文件被 write
  • IN_ATTRIB : 文件属性被修改,如 chmod、chown、touch 等
  • IN_CLOSE_WRITE : 可写文件被 close
  • IN_CLOSE_NOWRITE : 不可写文件被 close
  • IN_OPEN : 文件被open
  • IN_MOVED_FROM : 文件被移走,如 mv
  • IN_MOVED_TO : 文件被移来,如 mv、cp
  • IN_CREATE : 创建新文件
  • IN_DELETE : 文件被删除,如 rm
  • IN_DELETE_SELF : 自删除,即一个可执行文件在执行时删除自己
  • IN_MOVE_SELF : 自移动,即一个可执行文件在执行时移动自己
  • IN_UNMOUNT : 宿主文件系统被 umount
  • IN_CLOSE : 文件被关闭,等同于(IN_CLOSE_WRITE | IN_CLOSE_NOWRITE)
  • IN_MOVE : 文件被移动,等同于(IN_MOVED_FROM | IN_MOVED_TO)

注:上面所说的文件也包括目录

1.3. Inotify内核版本支持

  • kernel 2.6.13开始,Inotify正式并入内核,RHEL5已经支持.
  • 看看是否有 /proc/sys/fs/inotify/目录,以确定内核是否支持inotify
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值