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通知接口,用来监控文件系统的各种变化情况,如文件存取.删除.移动等 ...
随机推荐
- 解决mysq服务无法正常启动问题
在mysql的启动过程中,遇到什么问题都可以反馈给我,我都会尽力帮你们解决 第一种:通过net start mysql启动MySQL服务器时,出现以下信息 是因为在MySQL5.7以上的版本中默认的没 ...
- 常见排序算法的golang 实现
五种基础排序算法对比 五种基础排序算法对比 1:冒泡排序 算法描述 比较相邻的元素.如果第一个比第二个大,就交换它们两个: 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素 ...
- 859. Buddy Strings - LeetCode
Question 859. Buddy Strings Solution 题目大意: 两个字符串,其中一个字符串任意两个字符互换后与另一个字符串相等,只能互换一次 思路: diff 记录不同字符数 两 ...
- K8S 使用Minikube搭建Kubernetes(K8S)~单机运行Kubernetes~适用于快速学习
在一台主机上运行起来的Kubernetes,仅适用于学习!~~~ 系统版本:CentOS Linux release 7.6.1810 (Core) 软件版本:Docker-ce-18.06.0.Ku ...
- ESP8266远程控制电子门
ESP8266远程控制电子门 最前面介绍: 这是一个使用ESP8266 联网控制继电器,实现手机远程控制电子门,打开关闭,开关一次的物联网联手小项目 附git地址:https://github.com ...
- java对象与Json字符串之间的转化
public class Test { public static void main(String[] args) { // 实现java对象与Json字符串之间的转化 // 1. Person对象 ...
- net core天马行空系列-微服务篇:全声明式http客户端feign快速接入微服务中心nacos
1.前言 hi,大家好,我是三合,距离上一篇博客已经过去了整整两年,这两年里,博主通关了<人生>这个游戏里的两大关卡,买房和结婚.最近闲了下来,那么当然要继续写博客了,今天这篇博客的主要内 ...
- shell 问题记录
工作中写了个 RestAPI 接口,然后想通过 crontab 任务,去定时调用接口.发现去拼接 post 请求真的不容易.对于单引号,双引号的使用.很懵,示例代码如下:对于 '$line' 处,单引 ...
- ASP.NET MVC之读取服务器文件资源的两种方式
初次认识asp.net mvc时,以为所有文件都需要走一遍路由,然后才能在客户端显示, 所以我首先介绍这一种方式 比如说:我们在服务器上有图片: ~/resource/image/5.jpg 我们就需 ...
- cve_2019_0708_bluekeep漏洞
一.环境说明 kali linux windows 7 sp1 二.cve_2019_0708_bluekeep漏洞利用 msf5 auxiliary(dos/windows/rdp/ms12_020 ...