inotify:这个可以监控文件系统中的添加,修改,删除,移动等事件

inotify的特性需要linux内核2.6.13以上的支持

[root@test1 inotify-tools-3.13]# uname -r
2.6.-.el6.i686 #支持 还需要看看是否安装了inotify
[root@test1 inotify-tools-3.13]# ll /proc/sys/fs/inotify/
total #这个里面的东西是inotify的接口用于限制内存大小
-rw-r--r-- root root Aug : max_queued_events #表示调用init时分配到instance中排队的event的最大数目,超出就会被丢弃
-rw-r--r-- root root Aug : max_user_instances #表示一个real id user 可创建instance的最大数目
-rw-r--r-- root root Aug : max_user_watches #表示inotify可监控的最大目录文件上限,如果目录文件过多可以把这个值调大点

光有inotify还不够,还要安装inotify-tools

[root@test1 ~]# wget http://sourceforge.net/projects/inotify-tools/files/latest/download/inotify-tools-3.13.tar.gz
[root@test1 ~]# tar zxf inotify-tools-3.13.tar.gz
[root@test1 ~]# cd inotify-tools-3.13
[root@test1 ~]#./configure
[root@test1 ~]#make && make install
[root@test1 inotify-tools-3.13]# ll /usr/local/bin/inotifywa*
-rwxr-xr-x. root root Aug : /usr/local/bin/inotifywait #用于等待文件或者文件集上的特定事件
-rwxr-xr-x. root root Aug : /usr/local/bin/inotifywatch #收集监控的文件系统统计数据,包括inotify事件发生多少次

/usr/local/bin/inotifywait

-m:始终保持事件监控状态

-r:递归查询目录

-q:打印监控事件

-e:指定要监控的事件,常见事件有,modify,delete,create和attrib

这个还可以一次同步到多台服务器,用多台rsync服务端作为客户端,在另外一台服务器上监控一个目录,当目录里面有文件发生状态和属性改变事件,就会自动触发同步到多台服务器上

rsync_inotify.sh

#!/bin/bash
#需要同步的服务器地址
Dst_Host=192.168.1.20 #源文件目录
Src_Dir=/webserver/ #需要同步的远程服务器上的模块名
Dst_Module=WEBSERVER #远程服务器上的模块认证用户
Module_UserName=sheng #rsync命令的绝对路径
Rsync_Pwd=`whereis rsync | awk '{print $2}'` /usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' \
--format '%T %w%f %e' \
-e modify,delete,create,attrib $Src_Dir \
| while read file
do
${Rsync_Pwd} -vzrtopg --delete --password-file=/etc/rsyncd.pass $Src_Dir $Module_UserName@$Dst_Host::$Dst_Module
echo "${file} was rsyncd!" >> /var/log/rsync_inotify.log
done

同样也可以用这个命令扑捉到文件改变的事件,运行别的程序,比如nginx   nginx.conf文件一改变就重新加载

rsync+inotify 实现实时同步的更多相关文章

  1. linux rsync +inotify 实现 实时同步

    前言:     rsync可以实现触发式的文件同步,但是通过crontab守护进程方式进行触发,同步的数据和实际数据会有差异,而inotify可以监控文件系统的各种变化,当文件有任何变动时,就触发rs ...

  2. rsync + inotify 数据实时同步

    一.rsync介绍 rsync英文全称为Remote synchronization,从软件的名称就可以看出来,Rsync具有可是本地和远程两台主机之间的数据快速复制同步镜像.远程备份的功能,这个功能 ...

  3. rsync+inotify实现实时同步案例--转

    转自:http://chocolee.blog.51cto.com/8158455/1400596 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐 ...

  4. Rsync+inotify实现实时同步

    1.1 inotify介绍 inotify是一种强大的.细粒度的.异步的文件系统事件控制机制.linux内核从2.6.13起,加入了inotify支持,通过inotify可以监控文件系统中添加.删除. ...

  5. rsync+inotify实现实时同步案例【转】

    1.1 inotify介绍 inotify是一种强大的.细粒度的.异步的文件系统事件控制机制.linux内核从2.6.13起,加入了inotify支持,通过inotify可以监控文件系统中添加.删除. ...

  6. rsync简介与rsync+inotify配置实时同步数据

    rsync简介 rsync是linux系统下的数据镜像备份工具.使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH.rsync主机同步. rsync特性 rsync ...

  7. CentOS 7 rsync+inotify实现实时同步

    测试环境如下: inotify-slave IP : 172.16.0.222 inotify-master IP : 172.16.0.233 对两台机的要求: 安装依赖包gcc: yum inst ...

  8. centos 配置rsync+inotify数据实时同步2

    一.Rsync服务简介 1. 什么是Rsync 它是一个远程数据同步工具,它在同步文件的同时,可通过LAN/WAN快速同步多台主机间的文件.Rsync使用所谓的“rsync算法”来使本地和远程两个主机 ...

  9. centos 配置rsync+inotify数据实时同步

    何为rsync? 定义: rsync是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,保持链接和权限,非常适用于异地备份 何为源端和发起端? 在远程同步过程中,负责发起rs ...

  10. rsync+inotify实现实时同步案例

    转自:http://chocolee.blog.51cto.com/8158455/1400596 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐 ...

随机推荐

  1. 人生第一场CTF的解题报告(部分)

    解题报告 濮元杰部分: 王者归来: 120 场景 小王入职了一段时间,最近有点无聊.Web安全项目不多,白天看着其他项目组的同事忙得热火朝天,小王有点坐不住了,这也许是新人都会有的想法,乐于助人.想到 ...

  2. 巴蜀3540 -- 【Violet 6 最终话】蒲公英

    Description 原题的时间限制是 2s . 亲爱的哥哥: 你在那个城市里面过得好吗? 我在家里面最近很开心呢.昨天晚上奶奶给我讲了那个叫「绝望」的大坏蛋的故事的说!它把人们的房子和田地搞坏,还 ...

  3. 【BZOJ3939】Cow Hopscotch(动态开点线段树)

    题意: 就像人类喜欢跳格子游戏一样,FJ的奶牛们发明了一种新的跳格子游戏.虽然这种接近一吨的笨拙的动物玩跳格子游戏几乎总是不愉快地结束,但是这并没有阻止奶牛们在每天下午参加跳格子游戏  游戏在一个R* ...

  4. x1 carbon 扩展屏 模糊

    x1 carbon 扩展屏 模糊,扩展屏是dell的屏,分辨率最大是1920*1080, x1最大是2560*1440. 不论是通过DP mini转VGA,还是HDMI,输出都是模糊,只有复制屏幕的时 ...

  5. 洛谷 P1731 [NOI1999]生日蛋糕

    P1731 [NOI1999]生日蛋糕 题目背景 7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层 生日蛋糕,每层都是一个圆柱体. 设从下往上数第i(1<=i<=M ...

  6. MySQLWorkbench里的稀奇事之timestamp的非空默认值

    在创建表时,某字段为非空时间戳,timestamp not null 问题来了,使用workbench建表时,如果值非空,是需要有一个默认值的,不然会报错. 那么,如果是更新时自动填充可以使用DEFA ...

  7. IO与文件读写---Java的IO流架构

    http://www.blogjava.net/pengpenglin/archive/2010/03/03/314239.html#314399 http://www.blogjava.net/jo ...

  8. SYSTEM 表空间管理及备份恢复

    标签: systemoraclesqldatabasefile数据库 2010-11-28 18:14 12689人阅读 评论(0) 收藏 举报 分类: -----Oracle备份恢复(16) 版权声 ...

  9. Meteor Assets资源

    静态服务器资源位于应用程序内的 private 子文件夹.在这个例子中,我们将学习如何从简单的JSON文件中使用数据. 第1步 - 创建文件和文件夹 让我们创建一个 private 文件夹并在这个文件 ...

  10. leetCode 78.Subsets (子集) 解题思路和方法

    Given a set of distinct integers, nums, return all possible subsets. Note: Elements in a subset must ...