`
stephen830
  • 浏览: 3011043 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

inotify-tools使用方法介绍

 
阅读更多

 

notify-tools 是为linux下 inotify文件监控工具提供的一套c的开发接口库函数,同时还提供了一系列的命令行工具,这些工具可以用来监控文件系统的事件。 inotify-tools是用c编写的,除了要求内核支持inotify外,不依赖于其他。inotify-tools提供两种工具,一是 inotifywait,它是用来监控文件或目录的变化,二是inotifywatch,它是用来统计文件系统访问的次数。现在介绍一下它的使用方法。

安装方法

  1. wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
  2. tar xzf inotify-tools-3.14.tar.gz ;cd inotify-tools-3.14
  3. ./configure --prefix=/usr && make && su -c 'make install'

使用例子

inotifywait

1、实时监控/home的所有事件(包括文件的访问,写入,修改,删除等)

  1. inotifywait -rm /home

2、监控/var/log/messeges中有关httpd的日志

  1. #!/bin/sh
  2.        while inotifywait -e modify /var/log/messages; do
  3.          if tail -n1 /var/log/messages | grep httpd; then
  4.            kdialog --msgbox "Apache needs love!"
  5.          fi
  6.        done

inotifywatch

1、统计/home文件系统的事件

  1. 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 文件系统取消挂载,之后不再监听此文件系统。

 

 

分享到:
评论

相关推荐

    inotify-tools-3.14源码包

    在某些情况下,例如在yum安装inotify-tools时遇到资源问题,我们可能需要直接从源码包进行编译安装,这就是本文要探讨的主题——inotify-tools-3.14源码包的编译与使用。 一、源码包介绍 inotify-tools-3.14源码...

    inotify-tools-3.14.tar.gz 亲测有效!

    1. **下载和解压**: 首先从提供的链接或其他来源下载这个压缩包,然后使用 `tar -zxvf inotify-tools-3.14.tar.gz` 命令进行解压。 2. **编译和安装**: 进入解压后的目录,如 `cd inotify-tools-3.14`,然后运行 `./...

    inotify-tools-3.14.zip

    《使用inotify-tools实现多服务器文件实时同步详解》 在IT运维领域,高效的数据同步是保障服务稳定性和数据...通过理解这两个工具的基本原理和使用方法,我们可以根据实际需求定制出满足业务的高效文件同步解决方案。

    inotify-tools软件包

    **inotify-tools软件包详解** 在Linux系统中,文件系统监控是系统管理和自动化任务的关键部分。`inotify-tools`是一个非常实用的工具...在实际工作中,了解并熟练使用`inotify-tools`对于Linux用户来说是十分必要的。

    inotify-tools-3.14.tar.gz

    在CentOS或Fedora系统中,可以使用`sudo yum install inotify-tools`或`sudo dnf install inotify-tools`。 2. 使用`inotifywait`监控文件:配置`inotifywait`监控源目录,当源目录中的文件发生改变时,触发Rsync...

    inotify-tools+rsync同步使用方法介绍

    通过使用`inotify-tools`,我们可以实时跟踪文件或目录的变化,并根据这些变化执行相应的操作。 `rsync` 是一个功能丰富的数据同步工具,它支持快速增量传输,这意味着它可以在两个位置之间高效地同步文件,只传输...

    inotify-tools-3.14.tar.gz工具源码包

    2.6.13起,加入了Inotify支持,通过Inotify可以监控文件系统中添加、删除,修改、移动等各种事件,利用这个内核接口,第三方软件就可以监控文件系统下文件的各种变化情况,而inotify-tools正是实施这样监控的软件。...

    inotify-tools-3.14.tar.gz+linux文件同步软件(含安装方法和同步脚本)

    2.6.13起,加入了Inotify支持,通过Inotify可以监控文件系统中添加、删除,修改、移动等各种事件,利用这个内核接口,第三方软件就可以监控文件系统下文件的各种变化情况,而inotify-tools正是实施这样监控的软件。...

    redhat9 inotify-tools(x86-64)

    RPM resource inotify-tools(x86-64) Inotify,它是在内核 2.6.13 版本中引入的一个新功能,它为用户态监视文件系统的变化提供了强大的支持,允许监控程序打开一个独立文件描述符,并针对事件集监控一个或者多个...

    inotify-tools-3.13.zip

    在解压并安装inotify-tools-3.13后,我们可以轻松地通过简单的命令行语法来使用这些工具。例如,监控当前目录下的所有文件和子目录的变化,我们可以运行`inotifywait -m .`;若想在文件被修改时执行某个脚本,可以...

    inotify-tools-3.14-9.el7.x86_64.rpm

    配合rsync使用

    inotify-tools-master.zip

    **inotify-tools-master** 使用C语言编写,意味着它具有高度的可移植性,可以在多种支持C编译器的平台上运行,包括但不限于Linux。此外,C语言的简洁性和直接操作内存的特性使得代码更易于理解和维护。 ### 跨平台...

    Rsync+sersync+inotify-tools

    首先,使用 Inotify-tools 监控目标文件或目录,当检测到变化时,通过脚本或自定义程序调用 Sersync 或 Rsync 执行同步操作。Sersync 的实时性可以确保数据的即时同步,而 Rsync 的高效传输则保证了同步的质量。 ...

    inotify-tools-3.14和3.13合集

    在Linux操作系统中,`inotify-...总的来说,`inotify-tools`和`rsync`的结合使用是Linux环境下实现高效、实时文件同步的重要技术。通过合理配置,它们可以提供可靠的数据保护和一致性保障,同时降低系统资源的消耗。

    inotify-tools-3.14

    《深入理解inotify-tools-3.14》 在Linux操作系统中,监控文件系统变化是一项重要的功能,这对于自动化脚本、日志跟踪、版本控制系统以及其他依赖实时文件变动的应用程序至关重要。inotify-tools就是这样一个用于...

    inotify-tools-devel-3.14-9.el7.x86_64.rpm

    官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装

    redhat8 inotify-tools(x86-64)

    RPM resource inotify-tools(x86-64) Inotify,它是在内核 2.6.13 版本中引入的一个新功能,它为用户态监视文件系统的变化提供了强大的支持,允许监控程序打开一个独立文件描述符,并针对事件集监控一个或者多个...

    inotify-tools-3.13.tar.gz

    rsync+inotify实现服务器之间文件实时同步

Global site tag (gtag.js) - Google Analytics