inotify-tools工具安装配置

什么是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/ -→

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

inotify-tools工具安装配置_第1张图片

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

你可能感兴趣的:(inotify-tools工具安装配置)