# inotify 软件
# 安装:通过epel,安装在客户端
# 功能:实时监控目录下文件的更变
# 监控事件:创建、删除、修改、移动...
# 安装位置:客户端
# 安装命令:
sudo apt-get install inotify-tools
# 源码安装:
wget --no-check-certificate http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
tar xzvf inotify-tools-3.14.tar.gz
cd inotify-tools-3.14
./configure --prefix=/usr
make
make install
# 安装后的应用程序:inotifywait、inotifywatch # inotifywait
# 选项:
# -r:递归,对目录中的子目录也进行监控
# -q:仅仅打印少量信息(仅仅打印监控的事件)
# -m:一直处于监控状态
# -d:和-m一样,区别是-d是后台运行
# -o file:将监控到的事件输出到一个文件中(默认输出到终端)
# -s:将错苏信息输出到系统日志中(默认输出到终端)
# --excludei:忽略文件名的大小写
# -e <event>:监控指定的事件
# access:访问事件
# modify:编辑事件
# attrib:修改文件属性事件(修改文件元数据)
# close_write:当文件从写模式下关闭的时候,会触发该事件
# close_nowrite:当文件从读模式下关闭的时候,会触发该事件
# close:无论以什么方式打开的文件,在关闭的时候都会触发该事件
# open:当文件被打开时,都会触发该事件
# moved_to:当一个文件移动到被监控的目录下,就会触发该事件
# moved_from:当一个文件从被监控目录下移走的时候,就会触发该事件
# moved_sekf:在监控目录下执行移操作,就会触发该事件
# create:创建文件的时候触发
# delete:删除文件的时候触发 # --timefmt <fmt>:指定时间显示的格式(和date格式一样)
# --format <fmt>:
# %f:输出发生事件的名称
# %w:输出繁盛事件的文件所在目录的绝对路劲
# %e:输出发生时间的名称(多个事件以空格隔开)
# %Xe:和%e唯一区别是多个事件以X隔开
# %T:输出发生事件的时间(时间格式由--timefmt指定) # 例子:
inotifywait -mrq --timefmt "%F%T" --format "%T %w %f" -e create,delete,modify /test # 实时同步脚本
#!/bin/bash
#
prog="inotifywait"
events="create,delete,modify,attrib"
iopt="-mrq" lpath="/test/" rhost="10.0.0.41"
vuser="vuser1"
secfile="/etc/rsync.passwd"
ropt="-az --delete"
modename="web1" $prog $iopt --format "%T %w %f" -e $events $lpath | while read line
do
rsync $lpath $line $vuser@$rhost::$modename --password-file=$modename
done # sersync+rsync实时同步
# sersync其实就是对inotify进行了一个包装,将配置信息以xml的方式进行配置,并进行了中文翻译
# sersync会比自己配置方便一点。还可以设置多线程模式。
# 安装示例:https://www.cnblogs.com/mouseleo/p/12587126.html

inotify 目录文件变更实时监控的更多相关文章

  1. Window Linux下实现指定目录内文件变更的监控方法

    转自:http://qbaok.blog.163.com/blog/static/10129265201112302014782/ 对于监控指定目录内文件变更,window 系统提供了两个未公开API ...

  2. nfs+rsync+inotify实现文件的实时同步

    准备三台服务器进行测试: nfs_server:192.168.12.110 web_server:192.168.12.111 rsync_server:192.168.12.112 网络规划图: ...

  3. linux实时监控并实时备份数据(rsync)

    目录 一:rsync实时监控备份流程 1.安装rsync(服务端 与 客服端)守护进程模式 2.修改配置文件(服务端) 3.解析配置内容 4.创建系统用户 5.创建密码文件 6.授权(必须授权为600 ...

  4. 3、架构--cp、scp、rsync、实时监控与同步

    笔记 1.晨考 1.VPN的搭建步骤 2.vpn中的iptables是什么作用? 网络转发 2.昨日问题 1.yum源问题 2.VPN链接正常,但是没办法通过172 3.VPN链接时,出现了DNS错误 ...

  5. Spark+Kafka实时监控Oracle数据预警

    目标: 监控Oracle某张记录表,有新增数据则获取表数据,并推送到微信企业. 流程: Kafka实时监控Oracle指定表,获取该表操作信息(日志),使用Spark Structured Strea ...

  6. rsync+inotify 实现服务器之间目录文件实时同步(转)

    软件简介: 1.rsync 与传统的 cp. tar 备份方式相比,rsync 具有安全性高.备份迅速.支持增量备份等优点,通过 rsync 可 以解决对实时性要求不高的数据备份需求,例如定期的备份文 ...

  7. java利用WatchService实时监控某个目录下的文件变化并按行解析(注:附源代码)

    首先说下需求:通过ftp上传约定格式的文件到服务器指定目录下,应用程序能实时监控该目录下文件变化,如果上传的文件格式符合要求,将将按照每一行读取解析再写入到数据库,解析完之后再将文件改名. 一. 一开 ...

  8. unison + inotify 实现文件实时双向同步部署步骤

    unison + inotify 实现文件实时双向同步部署步骤 一. Unison简介 Unison是Windows.Linux以及其他Unix平台下都可以使用的文件同步工具,它能使两个文件夹(本地或 ...

  9. Rsync + inotify 实现文件实时同步

    Rsync 用来实现触发式的文件同步. Inotify-tools是一套组件,Linux内核从2.6.13版本开始提供了inotify通知接口,用来监控文件系统的各种变化情况,如文件存取.删除.移动等 ...

随机推荐

  1. Java注解Annotaton

    1.三种基本的Annotaton @Override : 限定某个方法,是重写父类方法 , 该注解只能用于方法 @Deprecated : 用于表示某个程序元素 ( 类 , 方法等 ) 已过时 @Su ...

  2. yolov2学习笔记

    Yolov2学习笔记 yolov2在yolov1的基础上进行一系列改进: 1.比如Batch Normalization,High Resolution Classifier,使用Anchor Box ...

  3. Solon 1.8.0 发布,云原生微服务开发框架

    相对于 Spring Boot 和 Spring Cloud 的项目 启动快 5 - 10 倍 qps 高 2- 3 倍 运行时内存节省 1/3 ~ 1/2 打包可以缩小到 1/2 ~ 1/10(比如 ...

  4. 「ABC 249Ex」Dye Color

    考虑停时定理. 初始势能为 \(\sum \Phi(cnt_i)\),末势能为 \(\Phi(n)\),我们希望构造这样一个 \(\Phi:Z\to Z\) 函数,使得每一次操作期望势能变化量为常数. ...

  5. 接口测试postman深度挖掘应用②

    上一篇文章我们已经介绍了postman的基本用法,以及接口测试原理.未关注博主的可以关注下博主,后期测试安全,以及各种工具用法,编程语言都会有讲解的 老样子:①先补习基础知识:  ②补充上一章节由于过 ...

  6. 【主流技术】Mybatis Plus的理解与应用

    前言 mybatis plus是一个mybatis的增强工具,在其基础上只做增强不做改变.作为开发中常见的第三方组件,学习并应用在项目中可以节省开发时间,提高开发效率. 官方文档地址:MyBatis- ...

  7. SAP APO - Architecture

    SAP APO体系结构由多个组件组成-数据库,BI环境包含InfoCube和实时缓存. InfoCube是BI数据集市的一部分,实时缓存是您保留与计划和调度有关的所有数据的主要区域. 您可以在实时缓存 ...

  8. SAP BPC 清除CUBE 中的数据

    原理:先根据模型和查询条件取出数据,然后把金额设置为0,再写回CUBE. 1.获取数据并清空金额 *&--------------------------------------------- ...

  9. java请求登录接口代码示例

    前言 近期研究如何利用java代码如何获取其他系统中所需的数据,自己总结的方法如下: 1.工具类代码 /** * <pre> * 方法体说明:向远程接口发起请求,返回字符串类型结果 * @ ...

  10. python报错合集

    哈喽,大家好呀 我又来啦,今天让我们来看看python中有哪些常见的异常报错吧 说到python中的报错,我们总是脑壳疼现在我们要学会去认识报错的类型 这样子,在我们出现报错的时候就可以知道报错的原因 ...