notify-tools 是为linux下 inotify文件监控工具提供的一套c的开发接口库函数,同时还提供了一系列的命令行工具,这些工具可以用来监控文件系统的事件。 inotify-tools是用c编写的,除了要求内核支持inotify外,不依赖于其他。inotify-tools提供两种工具,一是 inotifywait,它是用来监控文件或目录的变化,二是inotifywatch,它是用来统计文件系统访问的次数。现在介绍一下它的使用方法。
安装方法
- wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
- tar xzf inotify-tools-3.14.tar.gz ;cd inotify-tools-3.14
- ./configure --prefix=/usr && make && su -c 'make install'
使用例子
inotifywait
1、实时监控/home的所有事件(包括文件的访问,写入,修改,删除等)
- inotifywait -rm /home
2、监控/var/log/messeges中有关httpd的日志
- #!/bin/sh
- while inotifywait -e modify /var/log/messages; do
- if tail -n1 /var/log/messages | grep httpd; then
- kdialog --msgbox "Apache needs love!"
- fi
- done
inotifywatch
1、统计/home文件系统的事件
- inotifywatch -v -e access -e modify -t 60 -r /home
参数说明
inotifywait
语法:
inotifywait [-hcmrq] [-e ] [-t ] [--format ] [--timefmt ] [ ... ]
参数:
-h,--help
输出帮助信息
@
排除不需要监视的文件,可以是相对路径,也可以是绝对路径。
--fromfile
从文件读取需要监视的文件或排除的文件,一个文件一行,排除的文件以@开头。
-m, --monitor
接收到一个事情而不退出,无限期地执行。默认的行为是接收到一个事情后立即退出。
-d, --daemon
跟--monitor一样,除了是在后台运行,需要指定--outfile把事情输出到一个文件。也意味着使用了--syslog。
-o, --outfile
输出事情到一个文件而不是标准输出。
-s, --syslog
输出错误信息到系统日志
-r, --recursive
监视一个目录下的所有子目录。
-q, --quiet
指定一次,不会输出详细信息,指定二次,除了致命错误,不会输出任何信息。
--exclude
正则匹配需要排除的文件,大小写敏感。
--excludei
正则匹配需要排除的文件,忽略大小写。
-t , --timeout
设置超时时间,如果为0,则无限期地执行下去。
-e , --event
指定监视的事件。
-c, --csv
输出csv格式。
--timefmt
指定时间格式,用于--format选项中的%T格式。
--format
指定输出格式。
%w 表示发生事件的目录
%f 表示发生事件的文件
%e 表示发生的事件
%Xe 事件以“X"分隔
%T 使用由--timefmt定义的时间格式
inotifywatch
语法:
inotifywatch [-hvzrqf] [-e ] [-t ] [-a ] [-d ] [ ... ]
参数:
-h, --help
输出帮助信息
-v, --verbose
输出详细信息
@
排除不需要监视的文件,可以是相对路径,也可以是绝对路径。
--fromfile
从文件读取需要监视的文件或排除的文件,一个文件一行,排除的文件以@开头。
-z, --zero
输出表格的行和列,即使元素为空
--exclude
正则匹配需要排除的文件,大小写敏感。
--excludei
正则匹配需要排除的文件,忽略大小写。
-r, --recursive
监视一个目录下的所有子目录。
-t , --timeout
设置超时时间
-e , --event
只监听指定的事件。
-a , --ascending
以指定事件升序排列。
-d , --descending
以指定事件降序排列。
可监听事件
access | 文件读取 |
modify | 文件更改。 |
attrib | 文件属性更改,如权限,时间戳等。 |
close_write | 以可写模式打开的文件被关闭,不代表此文件一定已经写入数据。 |
close_nowrite | 以只读模式打开的文件被关闭。 |
close | 文件被关闭,不管它是如何打开的。 |
open | 文件打开。 |
moved_to | 一个文件或目录移动到监听的目录,即使是在同一目录内移动,此事件也触发。 |
moved_from | 一个文件或目录移出监听的目录,即使是在同一目录内移动,此事件也触发。 |
move | 包括moved_to和 moved_from |
move_self | 文件或目录被移除,之后不再监听此文件或目录。 |
create | 文件或目录创建 |
delete | 文件或目录删除 |
delete_self | 文件或目录移除,之后不再监听此文件或目录 |
unmount | 文件系统取消挂载,之后不再监听此文件系统。 |
相关推荐
在某些情况下,例如在yum安装inotify-tools时遇到资源问题,我们可能需要直接从源码包进行编译安装,这就是本文要探讨的主题——inotify-tools-3.14源码包的编译与使用。 一、源码包介绍 inotify-tools-3.14源码...
1. **下载和解压**: 首先从提供的链接或其他来源下载这个压缩包,然后使用 `tar -zxvf inotify-tools-3.14.tar.gz` 命令进行解压。 2. **编译和安装**: 进入解压后的目录,如 `cd inotify-tools-3.14`,然后运行 `./...
《使用inotify-tools实现多服务器文件实时同步详解》 在IT运维领域,高效的数据同步是保障服务稳定性和数据...通过理解这两个工具的基本原理和使用方法,我们可以根据实际需求定制出满足业务的高效文件同步解决方案。
**inotify-tools软件包详解** 在Linux系统中,文件系统监控是系统管理和自动化任务的关键部分。`inotify-tools`是一个非常实用的工具...在实际工作中,了解并熟练使用`inotify-tools`对于Linux用户来说是十分必要的。
在CentOS或Fedora系统中,可以使用`sudo yum install inotify-tools`或`sudo dnf install inotify-tools`。 2. 使用`inotifywait`监控文件:配置`inotifywait`监控源目录,当源目录中的文件发生改变时,触发Rsync...
通过使用`inotify-tools`,我们可以实时跟踪文件或目录的变化,并根据这些变化执行相应的操作。 `rsync` 是一个功能丰富的数据同步工具,它支持快速增量传输,这意味着它可以在两个位置之间高效地同步文件,只传输...
2.6.13起,加入了Inotify支持,通过Inotify可以监控文件系统中添加、删除,修改、移动等各种事件,利用这个内核接口,第三方软件就可以监控文件系统下文件的各种变化情况,而inotify-tools正是实施这样监控的软件。...
2.6.13起,加入了Inotify支持,通过Inotify可以监控文件系统中添加、删除,修改、移动等各种事件,利用这个内核接口,第三方软件就可以监控文件系统下文件的各种变化情况,而inotify-tools正是实施这样监控的软件。...
RPM resource inotify-tools(x86-64) Inotify,它是在内核 2.6.13 版本中引入的一个新功能,它为用户态监视文件系统的变化提供了强大的支持,允许监控程序打开一个独立文件描述符,并针对事件集监控一个或者多个...
在解压并安装inotify-tools-3.13后,我们可以轻松地通过简单的命令行语法来使用这些工具。例如,监控当前目录下的所有文件和子目录的变化,我们可以运行`inotifywait -m .`;若想在文件被修改时执行某个脚本,可以...
配合rsync使用
**inotify-tools-master** 使用C语言编写,意味着它具有高度的可移植性,可以在多种支持C编译器的平台上运行,包括但不限于Linux。此外,C语言的简洁性和直接操作内存的特性使得代码更易于理解和维护。 ### 跨平台...
首先,使用 Inotify-tools 监控目标文件或目录,当检测到变化时,通过脚本或自定义程序调用 Sersync 或 Rsync 执行同步操作。Sersync 的实时性可以确保数据的即时同步,而 Rsync 的高效传输则保证了同步的质量。 ...
在Linux操作系统中,`inotify-...总的来说,`inotify-tools`和`rsync`的结合使用是Linux环境下实现高效、实时文件同步的重要技术。通过合理配置,它们可以提供可靠的数据保护和一致性保障,同时降低系统资源的消耗。
《深入理解inotify-tools-3.14》 在Linux操作系统中,监控文件系统变化是一项重要的功能,这对于自动化脚本、日志跟踪、版本控制系统以及其他依赖实时文件变动的应用程序至关重要。inotify-tools就是这样一个用于...
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
RPM resource inotify-tools(x86-64) Inotify,它是在内核 2.6.13 版本中引入的一个新功能,它为用户态监视文件系统的变化提供了强大的支持,允许监控程序打开一个独立文件描述符,并针对事件集监控一个或者多个...
rsync+inotify实现服务器之间文件实时同步