1.安装rsync(两台机器执行相同的步骤)
yum install gcc
yum install rsyncd xinetd -y
因为rsync是由xinetd启动的,所以需要修改一个配置
vim /etc/xinetd.d/rsync
disable = yes --修改为-->> disable = no
启动并查看是否启动成功
/etc/init.d/xinetd restart
netstat -atnp |grep 873
tcp        0      0 :::873                      :::*                        LISTEN      1503/xinetd
2.服务部署
yum install wget -y
wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
注意:需要检查你的系统是否支持inotify
内核需要在2.6.13以上
uname -r
2.6.32-431.el6.x86_64
并且有如下三个文件
ll /proc/sys/fs/inotify/
total 0
-rw-r--r-- 1 root root 0 Nov 13 19:38 max_queued_events
-rw-r--r-- 1 root root 0 Nov 13 19:38 max_user_instances
-rw-r--r-- 1 root root 0 Nov 13 19:38 max_user_watches
开始编译安装inotify
tar zxvf inotify-tools-3.14.tar.gz
cd inotify-tools-3.14
./configure --prefix=/usr/local/inotify && make && make install
cd /usr/local/inotify
查看一下下面的目录及文件    
ls -l
total 16
drwxr-xr-x. 2 root root 4096 Nov 13 19:42 bin ##inotify执行命令(二进制)
drwxr-xr-x. 3 root root 4096 Nov 13 19:42 include ##inotify程序所需用的头文件
drwxr-xr-x. 2 root root 4096 Nov 13 19:42 lib ##动态链接的库文件
drwxr-xr-x. 4 root root 4096 Nov 13 19:42 share ##帮助文档

工具集合介绍:

一共安装了2个工具(命令),即inotifywait和inotifywatch

inotifywait:在被监控的文件或目录上等待特定文件系统事件(open、close、delete等)发生,执行后处于阻塞状态,适合在shell脚本中使用。

inotifywatch:收集被监视的文件系统使用度统计数据,指定文件系统事件发生的次数统计。

创建一个软连接
ln -s /usr/local/inotify/bin/inotifywait /bin/

常用参数:
-r  ##递归查询目录
-q  ##打印很少的信息,仅仅打印监控相关的信息
-m  ##始终保持事件监听状态
--excludei ##排除文件或目录时,不区分大小写
--timefmt  ##指定时间的输出格式

配置实时同步目录:

1.在这我们通过ssh秘钥的方法来认证,当然也可以用rsync指定密码的形式
  在同步端生成ssh秘钥对
ssh-keygen   (直接回车就行)

将生成的公钥同步到你的被同步机器
scp /root/.ssh/id_rsa.pub 192.168.2.11:/root/.ssh/  
需要在被同步机器上将公钥改名
ls -l /root/.ssh
total 8
-rw------- 1 root root 404 Nov 13 13:48 authorized_keys

或者可以直接用(这种方法不用改名,详情可百度密钥对的配置)
ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.2.11

2.同步端编写同步的脚本
cat /shell/auto_rsync.sh
#!/bin/bash
/usr/local/inotify/bin/inotifywait -mrq -e modify,delete,create,attrib,move /usr/local/src |while read events
do
    rsync -avzP --delete -e 'ssh -p 60820' /usr/local/src/ 172.17.33.188:/usr/local/src
    echo "`date +'%Y-%m-%d %H:%M:%S'` 出现事件:$events" >> /shell/auto_rsync.log
done

3.在同步端创建一个abc的文件测试
touch /usr/local/src/abc

4.查看记录的log日志会有你刚刚创建的文件
5.在被同步机器上面查看文件或目录是否同步过去

Centos 6.5配置rsync+inotify实现文件实时同步的更多相关文章

  1. Rsync+inotify实现文件实时同步#附shell脚本

    强烈推荐先仔细看此文 https://segmentfault.com/a/1190000002427568 实验环境 centos 7.3 vm2:192.168.221.128 同步服务器 vm1 ...

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

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

  3. rsync+inotify实现文件实时同步

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

  4. CentOS 6.5 rsync+inotify实现数据实时同步备份

    CentOS 6.5 rsync+inotify实现数据实时同步备份 rsync    remote sync 远程同步,同步是把数据从缓冲区同步到磁盘上去的.数据在内存缓存区完成之后还没有写入到磁盘 ...

  5. centos 6.9使用Rsync+Inotify-tools实现数据实时同步

    centos 6.9使用Rsync+Inotify-tools实现数据实时同步 说明: 操作系统:CentOS 6.9 源服务器:192.168.1.222 备份服务器:192.168.1.1.233 ...

  6. sersync+rsync实现服务器文件实时同步

    sersync+rsync实现服务器文件实时同步 一.为什么要用rsync+sersync架构? 1.sersync是基于inotify开发的,类似于inotify-tools的工具 2.sersyn ...

  7. sersync基于rsync+inotify实现数据实时同步

    一.环境描述 需求:服务器A与服务器B为主备服务模式,需要保持文件一致性,现采用sersync基于rsync+inotify实现数据实时同步 主服务器A:192.168.1.23 从服务器B:192. ...

  8. rsync+sersync实现文件实时同步

    前言: 一.为什么要用Rsync+sersync架构? 1.sersync是基于Inotify开发的,类似于Inotify-tools的工具 2.sersync可以记录下被监听目录中发生变化的(包括增 ...

  9. [转]CENTOS 使用RSYNC+INOTIFY实现文件实时自动同步

    FROM : http://www.qiansw.com/centos-rsync-inotify-file-sync.html 生产环境中的两台web服务器,有个目录需要完全一样.使用rsync和i ...

随机推荐

  1. MQTT再学习 -- MQTT 客户端源码分析

    MQTT 源码分析,搜索了一下发现网络上讲的很少,多是逍遥子的那几篇. 参看:逍遥子_mosquitto源码分析系列 参看:MQTT libmosquitto源码分析 参看:Mosquitto学习笔记 ...

  2. 菜鸟入门【ASP.NET Core】11:应用Jwtbearer Authentication、生成jwt token

    准备工作 用VSCode新建webapi项目JwtAuthSample,并打开所在文件夹项目 dotnet new webapi --name JwtAuthSample 编辑JwtAuthSampl ...

  3. 同源策略与CORS

    同源策略 同源策略是浏览器保护用户安全上网的重要措施,协议.域名.端口号三者相同即为同源. 不同源下,浏览器不允许js操作Cookie.LocalStorage.DOM等数据或页面元素,也不允许发送a ...

  4. 乐字节-Java8新特性之Base64和重复注解与类型注解

    上一篇小乐给大家说了<乐字节-Java8新特性之Date API>,接下来小乐继续给大家说一说Java8新特性之Base64和重复注解与类型注解. 一.Base64 在Java 8中,内置 ...

  5. 使用Maven搭建JFinal环境

    使用Maven搭建JFinal环境 工具:IDEA 2017 JFinal版本:3.4 一.Maven项目创建 选择maven模板进行创建 填写GroupId和ArtifactId 一路Next即可 ...

  6. 第一个React Native程序踩到的那些坑

    毫不夸张的说用React Native写一个Hello World !程序是我碰到最复杂的Hello World.网络上的有关的环境搭建相关的文档也很多,但是总是有这样那样的问题. 官方中文版的安装文 ...

  7. CentOS7系列--安装Chrome浏览器

    CentOS7系列--安装Chrome浏览器 1. 创建yum源文件 [root@server20 ~]# cd /etc/yum.repos.d/ [root@server20 yum.repos. ...

  8. 盐城 - 开设IT公司的好地方

    盐城:位于江苏省北部,这一好像只能算三线的城市,不久前当选为“国家中心城市”.在全国仅有的50城市中名列34.它可成为发展IT产业的好地方. (1)人才济济.从这里走出去的高级人才数不胜数,留在这里的 ...

  9. 命令行选项 - Mozilla 产品与私有技术 | MDN - Google Chrome

    命令行选项 在本文章中 语法规则 使用命令行选项 示例 用户配置档 -CreateProfile profile_name -CreateProfile "profile_name prof ...

  10. SSO阅读有感

    SSO比较详细且理解.赞 链接:https://www.cnblogs.com/ywlaker/p/6113927.html