曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 4610|回复: 0
打印 上一主题 下一主题

inotifywait -- 监视文件的变动

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34397
跳转到指定楼层
楼主
发表于 2012-6-7 12:14:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
inotifywait 是一个可以实时监视文件变动的工具。它利用了 Linux 内核中的 inotify 机制实现监视功能,安装它不需要其他软件包的依赖,只要求内核版本高于 2.6.13 即可,它的最新版本为 3.1.4

工具的项目主页为:https://github.com/rvoicilas/inotify-tools/wiki/

在 Fedora 下安装:
[Plain Text] 纯文本查看 复制代码
#yum install inotify-tools


在 Debian/Ubuntu 下安装:
[Plain Text] 纯文本查看 复制代码
apt-get install inotify-tools


比如使用下面对 /root 目录下的监视:
# inotifywait -mr ~
Setting up watches.  Beware: since -r was given, this may take a while!
Watches established.

现在另一个终端的窗口里对 /root 目录下添加一个文件:
# echo "hello linux" > /root/tmp.txt

那么在运行 inotifywait 的窗口里可以看到:
# inotifywait -mr ~
Setting up watches.  Beware: since -r was given, this may take a while!
Watches established.
/root/ CREATE tmp.txt
/root/ OPEN tmp.txt
/root/ MODIFY tmp.txt
/root/ CLOSE_WRITE,CLOSE tmp.txt
inotifywait 命令中的 -m 选项表示 monitor ,即开启监视。-r 选项表示递归监视,比如上面监视整个 /root 目录,如果在其中的子目录下修改文件也是能被观察到的。

还可以用 -e 选项指定要监控的“事件”(events),比如:
[Plain Text] 纯文本查看 复制代码
inotifywait -rme modify,attrib,move,close_write,create,delete,delete_self > /root/tmp.txt

上面命令中分别指定了多个 “事件” ,如果不用 -e 选项指定,那么默认是监视所有的“事件”。

上面是常用选项参数。更多选项可参考 man 手册。

该工具在实际使用中可以配合 rsync 进行实施备份,甚至可以用来排查服务器上的网站被挂马等情况。

推荐文章:《使用 inotify 监控文件系统的活动》
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-6-18 07:32 , Processed in 0.077333 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表