您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > linux

Linux 系统中使用inotifywait监控文件变化

时间:2023-09-09 12:36:34  来源:微信公众号  作者:微技术之家

有时候我们常需要当文件变化的时候便触发某些脚本操作,比如说有文件更新了就同步文件到远程机器。在实现这个操作上,主要用到两个工具,一个是rsync,一个是inotifywAIt。inotifywait的作用是监控文件夹变化,rsync是用来同步,可同步到本机的其他目录或者远程服务器上。

我们先看下二者的安装方式。

安装rsync

wget http://rsync.samba.org/ftp/rsync/src/rsync-3.1.1.tar.gztar zxvf rsync-3.1.1.tar.gz ./configure –prefix=/usr/local/rsync-3.1.1makemake install

安装inotifywait

wget http://Github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gztar zxvf inotify-tools-3.14.tar.gzcd inotify-tools-3.14./configuremakemake install

创建并运行脚本

新建脚本inotifywait.sh 并输入以下内容

#!/bin/bashexport CNROMS_SRC=/home/ftpuser/gri/   # 同步的路径,请根据实际情况修改inotifywait --exclude '.(part|swp)' -r -mq -e  modify,move_self,create,delete,move,close_write $CNROMS_SRC |  while read event;    do    rsync -vazu --progress  --password-file=/etc/rsyncd_rsync.secret  /home/ftpuser/gri/sla  rsync@10.208.1.1::gri ##这里执行同步的命令,可以改为其他的命令
  done

 

然后执行下面命令,会在后台执行监控

  • nohup sh inotifywait.sh > /dev/null 2>&1

 

图片

接下来我们重点看下inotify的使

inotify 是一个 linux 内核提供的 API,它可以监视文件系统事件,

比如文件或目录的创建、删除、修改等。

inotify-tools 是一套用户空间的工具,包括 inotifywait 和 inotifywatch,用于使用 inotify API。

这些工具可以对文件系统事件进行监控,并生成相应的警告或日志。

inotifywait是一个非常实用的命令,它属于inotify-tools包,可以用来监控Linux文件系统事件。

下面是一些inotifywait应用的例子:

监控目录或文件的创建、删除、移动等操作:

  • inotifywait -m -r -e create,delete,move /path/to/directory

这个命令将监视/path/to/directory目录中所有文件和目录的创建、删除和移动操作。当有文件或目录被创建、删除或移动时,

这个命令将显示相应的信息。

监控文件的修改操作:

  • inotifywait -m -r -e modify /path/to/file

这个命令将监视/path/to/file文件的修改操作。当有文件被修改时,这个命令将显示相应的信息。

监控目录或文件的属性变化:

  • inotifywait -m -r -e attrib /path/to/directory

这个命令将监视/path/to/directory目录中所有文件和目录的属性变化。当有文件或目录的属性发生变化时,这个命令将显示相应的信息。

监控多个目录或文件的事件:

  • inotifywait -m -r -e create,delete,move /path/to/directory1 /path/to/directory2 /path/to/file1 /path/to/file2


这个命令将监视多个目录和文件的创建、删除和移动操作。当有目录或文件发生相应的事件时,这个命令将显示相应的信息。

监控事件并执行命令:

  • inotifywait -m -r -e create,delete,move /path/to/directory -- /path/to/command


上面的命令将监视/path/to/directory目录中所有文件和目录的创建、删除和移动操作,并在事件发生时执行指定的命令。可以将命令替换为你想要执行的任何命令。这些例子只是inotifywait的一些基本用法,大家可以根据自己的需求进一步扩展和定制。



Tags:Linux   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除。
▌相关推荐
Linux系统中的日志文件是一个非常重要的资源,可以提供关于系统运行状态、应用程序运行情况以及安全等方面的信息。为了方便用户查看日志文件,Linux系统提供了一些命令和工具...【详细内容】
2023-09-11  Tags: Linux  点击:(2)  评论:(0)  加入收藏
在Linux系统管理中,最常用的查看内存命令是'free -h'。准确理解内存使用情况是非常重要的。本文将详细解释Linux中“free”和“available”内存的概念,并阐述如何利用...【详细内容】
2023-09-10  Tags: Linux  点击:(0)  评论:(0)  加入收藏
有时候我们常需要当文件变化的时候便触发某些脚本操作,比如说有文件更新了就同步文件到远程机器。在实现这个操作上,主要用到两个工具,一个是rsync,一个是inotifywait。inotifyw...【详细内容】
2023-09-09  Tags: Linux  点击:(0)  评论:(0)  加入收藏
在Linux系统中,文件和目录的管理是日常操作中的一个重要部分。随着时间的推移,您的计算机上可能会有许多重要的文件和目录。然而,误删除文件或目录可能会导致严重的数据丧失和...【详细内容】
2023-09-09  Tags: Linux  点击:(0)  评论:(0)  加入收藏
消息中间件在现代分布式系统中起着至关重要的作用。它们可以在不同的应用程序之间实现可靠的异步通信,提供高吞吐量、低延迟和可扩展性。下面将介绍如何在Linux系统中使用容...【详细内容】
2023-09-08  Tags: Linux  点击:(7)  评论:(0)  加入收藏
我们过去写过几篇文章来查找映射到块设备/磁盘的 LUN ID,但是当你管理 VCS 集群时,在某些情况下你可能需要映射 LUN 用于 VxFS 文件系统扩展的 VxVM(Veritas 卷管理器)磁盘的 ID...【详细内容】
2023-09-07  Tags: Linux  点击:(5)  评论:(0)  加入收藏
1、背景 有时候会遇到一些疑难杂症,并且监控插件并不能一眼立马发现问题的根源。这时候就需要登录服务器进一步深入分析问题的根源。那么分析问题需要有一定的技术经验积累,并...【详细内容】
2023-09-06  Tags: Linux  点击:(3)  评论:(0)  加入收藏
操作系统概述操作系统 Operating System 简称 OS,通俗讲就是一款软件,不过和一般的软件不同,操作系统是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的...【详细内容】
2023-09-05  Tags: Linux  点击:(15)  评论:(0)  加入收藏
身为一个运维开发人员,如果你不知道眼下当前服务器底层操作系统中正在发生什么,那就有点合眼摸象了。其实,你可以根据相应数据做出一定的推测,但是要做到这一点,就需要原始数据,并...【详细内容】
2023-09-04  Tags: Linux  点击:(3)  评论:(0)  加入收藏
零拷贝技术的发展在不同场景下有不同的适用方法。而在Linux操作系统中,现存的零拷贝技术也非常多,它们大部分存在于不同的Linux内核版本,而有些旧的技术已经被新技术所取代。本...【详细内容】
2023-09-04  Tags: Linux  点击:(0)  评论:(0)  加入收藏
▌简易百科推荐
Linux系统中的日志文件是一个非常重要的资源,可以提供关于系统运行状态、应用程序运行情况以及安全等方面的信息。为了方便用户查看日志文件,Linux系统提供了一些命令和工具...【详细内容】
2023-09-11  微技术之家  微信公众号  Tags:Linux日志   点击:(2)  评论:(0)  加入收藏
在Linux系统管理中,最常用的查看内存命令是'free -h'。准确理解内存使用情况是非常重要的。本文将详细解释Linux中“free”和“available”内存的概念,并阐述如何利用...【详细内容】
2023-09-10  微技术之家  微信公众号  Tags:Linux   点击:(0)  评论:(0)  加入收藏
有时候我们常需要当文件变化的时候便触发某些脚本操作,比如说有文件更新了就同步文件到远程机器。在实现这个操作上,主要用到两个工具,一个是rsync,一个是inotifywait。inotifyw...【详细内容】
2023-09-09  微技术之家  微信公众号  Tags:Linux   点击:(0)  评论:(0)  加入收藏
在Linux系统中,文件和目录的管理是日常操作中的一个重要部分。随着时间的推移,您的计算机上可能会有许多重要的文件和目录。然而,误删除文件或目录可能会导致严重的数据丧失和...【详细内容】
2023-09-09  王建立    Tags:chattr   点击:(0)  评论:(0)  加入收藏
我们过去写过几篇文章来查找映射到块设备/磁盘的 LUN ID,但是当你管理 VCS 集群时,在某些情况下你可能需要映射 LUN 用于 VxFS 文件系统扩展的 VxVM(Veritas 卷管理器)磁盘的 ID...【详细内容】
2023-09-07  Linux中国    Tags:Linux   点击:(5)  评论:(0)  加入收藏
1、背景 有时候会遇到一些疑难杂症,并且监控插件并不能一眼立马发现问题的根源。这时候就需要登录服务器进一步深入分析问题的根源。那么分析问题需要有一定的技术经验积累,并...【详细内容】
2023-09-06  Linux深度学习  微信公众号  Tags:Linux   点击:(3)  评论:(0)  加入收藏
操作系统概述操作系统 Operating System 简称 OS,通俗讲就是一款软件,不过和一般的软件不同,操作系统是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的...【详细内容】
2023-09-05  南独酌酒nvn  CSDN  Tags:Linux   点击:(15)  评论:(0)  加入收藏
身为一个运维开发人员,如果你不知道眼下当前服务器底层操作系统中正在发生什么,那就有点合眼摸象了。其实,你可以根据相应数据做出一定的推测,但是要做到这一点,就需要原始数据,并...【详细内容】
2023-09-04  计算科学与信息化  微信公众号  Tags:Linux   点击:(3)  评论:(0)  加入收藏
零拷贝技术的发展在不同场景下有不同的适用方法。而在Linux操作系统中,现存的零拷贝技术也非常多,它们大部分存在于不同的Linux内核版本,而有些旧的技术已经被新技术所取代。本...【详细内容】
2023-09-04  科技界脑洞    Tags:零拷贝   点击:(0)  评论:(0)  加入收藏
在Linux系统中,文件和目录的管理是日常操作中的一个重要部分。然而,误删除文件或目录可能会导致严重的数据丧失和系统问题。为了防止这种情况的发生,Linux系统提供了一系列的方...【详细内容】
2023-08-30  wljslmz  今日头条  Tags:Linux命令   点击:(34)  评论:(0)  加入收藏
站内最新
站内热门
站内头条