inotify 目录文件变更实时监控
# 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 目录文件变更实时监控的更多相关文章
- Window Linux下实现指定目录内文件变更的监控方法
转自:http://qbaok.blog.163.com/blog/static/10129265201112302014782/ 对于监控指定目录内文件变更,window 系统提供了两个未公开API ...
- nfs+rsync+inotify实现文件的实时同步
准备三台服务器进行测试: nfs_server:192.168.12.110 web_server:192.168.12.111 rsync_server:192.168.12.112 网络规划图: ...
- linux实时监控并实时备份数据(rsync)
目录 一:rsync实时监控备份流程 1.安装rsync(服务端 与 客服端)守护进程模式 2.修改配置文件(服务端) 3.解析配置内容 4.创建系统用户 5.创建密码文件 6.授权(必须授权为600 ...
- 3、架构--cp、scp、rsync、实时监控与同步
笔记 1.晨考 1.VPN的搭建步骤 2.vpn中的iptables是什么作用? 网络转发 2.昨日问题 1.yum源问题 2.VPN链接正常,但是没办法通过172 3.VPN链接时,出现了DNS错误 ...
- Spark+Kafka实时监控Oracle数据预警
目标: 监控Oracle某张记录表,有新增数据则获取表数据,并推送到微信企业. 流程: Kafka实时监控Oracle指定表,获取该表操作信息(日志),使用Spark Structured Strea ...
- rsync+inotify 实现服务器之间目录文件实时同步(转)
软件简介: 1.rsync 与传统的 cp. tar 备份方式相比,rsync 具有安全性高.备份迅速.支持增量备份等优点,通过 rsync 可 以解决对实时性要求不高的数据备份需求,例如定期的备份文 ...
- java利用WatchService实时监控某个目录下的文件变化并按行解析(注:附源代码)
首先说下需求:通过ftp上传约定格式的文件到服务器指定目录下,应用程序能实时监控该目录下文件变化,如果上传的文件格式符合要求,将将按照每一行读取解析再写入到数据库,解析完之后再将文件改名. 一. 一开 ...
- unison + inotify 实现文件实时双向同步部署步骤
unison + inotify 实现文件实时双向同步部署步骤 一. Unison简介 Unison是Windows.Linux以及其他Unix平台下都可以使用的文件同步工具,它能使两个文件夹(本地或 ...
- Rsync + inotify 实现文件实时同步
Rsync 用来实现触发式的文件同步. Inotify-tools是一套组件,Linux内核从2.6.13版本开始提供了inotify通知接口,用来监控文件系统的各种变化情况,如文件存取.删除.移动等 ...
随机推荐
- Git 上传文件项目到github,gitee详细教程!(本文用的gitee)
1:安装Git 下载地址:https://git-scm.com/ 2:生成ssh密钥不会的可以去另一篇文章 https://www.cnblogs.com/psfjc/p/15980893.html ...
- springMvc和Hibernate集成实现用户添加
源码:http://pan.baidu.com/s/1i4xVLE9(百度云) 步骤:一.创建数据库(mysql) 二.导入相应jar包(注意不同数据库jdbc.jar包)配置web.xml.spri ...
- 探究MySQL中SQL查询的成本
成本 什么是成本,即SQL进行查询的花费的时间成本,包含IO成本和CPU成本. IO成本:即将数据页从硬盘中读取到内存中的读取时间成本.通常1页就是1.0的成本. CPU成本:即是读取和检测是否满足条 ...
- 翻页组件page-flip调用问题
翻页组件重新调用解决方案 翻页组件:page-flip import { PageFlip } from 'page-flip' pagefile() { //绘制翻页 this.pageFlip = ...
- CXP 协议中upconnection 与downconnection的说明及其区别
概述 CXP定义了一个DEVICE和HOST之间点对点的连接协议.CXP的一个连接包含了一个MASTER物理连接和若干可选的SLAVE连接,每一个连接都定义了一组逻辑通道用于传输图像数据.实时触发.设 ...
- 在windows下使用s3cmd和s3browser来管理amazon s3的笔记
S3是Amazon S3的简称,s3cmd是一款命令行工具用来管理s3,同时还有一款图形化的管理工具:s3 browser. 因为绝大多数用户都是在linux下管理s3,而我们的打包机是在window ...
- Eoapi — 一个可拓展的开源 API 工具
在社区中时常会出现"抱怨某商业产品越来越臃肿"的声音,API 工具也是如此.从最早期只做 API 调试的工具,到经过多年的演进后集成全面功能的"庞然大物", ...
- 一款开源的跨平台实时web应用框架——DotNetify
今天给大家介绍一个开源的轻量级跨平台实时HTML+C#.NET Web应用程序开发框架--DotNetify,允许你在C#.NET后端上创建具有React.React Native.Vue或Blazo ...
- 【算法】Floyd算法
什么是Floyd Floyd用于求最短路程.举个栗子,给你一张图,让你求出点[1]到点[5]的最短路程,你会怎么求? (画图工具:CS Academy) 如上图,有向边分别是 1->2 1-& ...
- Prometheus 四种metric类型
Prometheus的4种metrics(指标)类型: Counter Gauge Histogram Summary 四种指标类型的数据对象都是数字,如果要监控文本类的信息只能通过指标名称或者 la ...