前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >inotify-tools工具安装配置

inotify-tools工具安装配置

作者头像
felixxue
发布2022-12-29 19:31:33
7990
发布2022-12-29 19:31:33
举报
文章被收录于专栏:xueflyxuefly

什么是Inotify?

Inotify一种强大的、细粒度的、异步文件系统监控机制,它满足各种各样的文件监控需要,可以监控文件系统的访问属性、读写属性、权限属性、删除创建、移动等操作,也就是可以监控文件发生的一切变化。。

inotify-tools是一个C库和一组命令行的工作提供Linux下inotify的简单接口。inotify-tools安装后会得到inotifywait和inotifywatch这两条命令:

一、安装

1.从内核和目录里面查看是否支持inotify

[root@yaoji-dev-test

~]# uname -r

3.10.0-693.2.2.el7.x86_64

2.6.13以上版本内核都会支持

ls -l /proc/sys/fs/inotify/ -→

主要查看下面有没有三个文件,有则表示支持:

2.检查是否有安装inotify 如果没有就安装

rpm -qa inotify-tools安装命令为:rpm -ivh --force inotify-tools-3.14-8.el7.x86_64.rpm

二、配置:

#设置系统环境变量,添加软连接

echo"PATH=/usr/local/bin:$PATH" >> /etc/profile.d/inotify.sh

source/etc/profile.d/inotify.sh

echo"/usr/local/lib/" > /etc/ld.so.conf.d/inotify.conf

ln-sf /usr/local/include/inotifytools /usr/include/inotify

#修改inotify默认参数(inotify默认内核参数值太小)

sysctl-w fs.inotify.max_queued_events="99999999"

sysctl-w fs.inotify.max_user_watches="99999999"

sysctl-w fs.inotify.max_user_instances="65535"

echofs.inotify.max_queued_events=99999999 >> /etc/sysctl.conf

echofs.inotify.max_user_watches=99999999 >> /etc/sysctl.conf

echofs.inotify.max_user_instances=65535 >> /etc/sysctl.conf

#

32位操作系统对应的路径是/usr/lib/libinotifytools.so.0

ln-sf /usr/local/lib/libinotifytools.so.0 /usr/lib64/libinotifytools.so.0

三、参数详解

安装完成后会生成两个命令

/usr/bin/inotifywait

/usr/bin/inotifywatch

inotifywait命令可以用来收集有关文件访问信息,Linux发行版一般没有包括这个命令,需要安装inotify-tools,这个命令还需要将inotify支持编译入Linux内核,好在大多数Linux发行版都在内核中启用了inotify。

inotifywatch命令用于收集关于被监视的文件系统的统计数据,包括每个 inotify 事件发生多少次

inotifywait命令参数:

-m是要持续监视变化。

-r使用递归形式监视目录。

-q减少冗余信息,只打印出需要的信息。

-e指定要监视的事件列表。

--timefmt是指定时间的输出格式。

FMT: # --timefmt '%y-%m-%d %H:%M'

--format指定文件变化的详细信息。

FMT: # --format '%T %f %e'

--outfile将事件输出到指定文件,而不输出到屏幕

-d|--daemon以守护进程方式后台运行(除了在后台运行外,与-m选项一样)

可监听的事件:

事件描述

access访问,读取文件

modify修改,文件内容被修改

attrib属性,文件元数据被修改

move移动,对文件进行移动操作

create创建,生成新文件

open打开,对文件进行打开操作

close关闭,对文件进行关闭操作

delete删除,文件被删除

四、使用示例

监听/tmp目录内所有文件和目录的"增删改"操作/usr/bin/inotifywait -mrq -e

'create,delete,close_write,attrib,moved_to' --timefmt '%Y-%m-%d %H:%M' --format

'%T %f %e' /tmp/

2018-05-21 19:53 xiaoke.txt CREATE

2018-05-21 19:53 xiaoke.txt ATTRIB

2018-05-21 19:53 xiaoke.txt CLOSE_WRITE,CLOSE

2018-05-21 19:54 xiaoke.txt DELETE

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-07-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档