把xinsz03.cn服务器上的/var/www/html目录时实同步到xinsz04.cn主机上的/web-back目录中。

 

inotify概述:

Linux内核从2.6.13版本开始提供了inotify通知接口,用来监控文件系统的各种变化情况,如文件存取、删除、移动等。利用这一机制,可以非常方便地实现文件异动告警、增量备份,并针对目录或文件的变化及时作出响应。

 

使用rsync工具与inotify机制相结合,可以实现触发式备份(实时同步),只要原始位置的文档发生变化,则立即启动增量备份操作,否则处于静态等侍状态,这样一来,就避免了按固定周期备份进存在的延迟性、周期过密等问题。

 

            inotify-tools-3.13.tar

下载地址:http://sourceforge.net/projects/inotify-tools/

 

 

查看是否支持inotify,从kernel2.6.13开始正式并入内核。

[root@xinsz03.cn ~]# uname -r

2.6.32-220.el6.x86_64

 

安装inotify-tools-3.13.tar:

上传

[root@xinsz03 ~]# rpm-ivh /mnt/Packages/lrzsz-0.12.20-27.1.el6.x86_64.rpm

rz  上传

sz  下载

 

安装inotify-tools-3.13.tar:

 

[root@xinsz03 ~]# tar -zxvfinotify-tools-3.13.tar.gz

[root@xinsz03 ~]# cdinotify-tools-3.13

[root@xinsz03inotify-tools-3.13]# ./configure   检查安装环境

[root@xinsz03inotify-tools-3.13]# make -j 4   #make编译,将源代码编译成二进制,可执行的文件

# -j  4 使用4个进程同时编译。快

 

 

[root@xinsz03inotify-tools-3.13]# make  install  # 安装

 

测试:

1、使用inotifywait命令监控网站目录/var/www/html发生的变化。

2、在另一个终端向/var/www/html目录下添加文件、移动文件,查看屏幕输出结果。

 

[root@xxinsz03 ~]#inotifywait -h

常用参数:

-e  用来指定要监控哪些事件。

这些事件包括: create创建,move移动,delete删除,modify修改文件内容,attrib属性更改。

-m 表示持续监控

-r  表示递归整个目录

-q 表示简化输出信息。

 

[root@xinsz03 ~]#inotifywait -mrq -e create,move,delete,modify /var/www/html/

 

在另一个终端登录,在/var/www/html目录进行相关的操作,然后,回到原来的终端查看监控变化情况。

[root@xinsz03 ~]# echoaaa > /var/www/html/a.html

[root@xinsz03 ~]# mkdir/var/www/html/test

[root@xinsz03 ~]# cp/etc/passwd /var/www/html/test/

[root@xinsz03 ~]# rm -rf/var/www/html/test/passwd

 

查看变化:

[root@xinsz03 ~]#inotifywait -mrq -e create,move,delete,modify /var/www/html/

/var/www/html/ CREATEa.html

/var/www/html/ MODIFYa.html

/var/www/html/CREATE,ISDIR test

/var/www/html/test/CREATE passwd

/var/www/html/test/MODIFY passwd

/var/www/html/test/DELETE passwd

注:使用inotifywait输出的监控结果中,每行记录中依次包括目录、事件、文件。据此可以识别变动情况。

 

编写触发式同步脚本

思路: 只要使用inotifywait检测到事件时,自动执行rsync进行同步操作即可。

 

[root@xinsz03 ~]#inotifywait -mrq -e create,move,delete,modify /var/www/html/

/var/www/html/   CREATE  a.html

 

[root@xinsz03~]# cat a.sh

#!/bin/bash

inotifywait-mrq -e create,move,delete,modify /var/www/html/  | while read a b c

do       

rsync -azP--delete /var/www/html/ root@192.168.1.64:/web-back

done

[root@xuegod63 ~]# chmod+x a.sh

 

 

查看是否同步了

[root@xinsz03 html]# pwd

/var/www/html

[root@xinsz03 html]# touchmk.hmtl

查看

[root@xuegod64 web-back]#ls

grub  mk2.hmtl mk.hmtl  test

 

测试:

[root@xuegod63 ~]# ./a.sh

数据已经实时同步。

 

查看:

[root@xuegod64 web-back]#pwd

/web-back

[root@xuegod64 web-back]#ls

grub

 

xinsz03的/var/www/html下创建一个mk.html,然后立即去xinsz04上查看文件变化比较多时,可以让一个rsync同步完后,再执行一个同步。 防止同时多个同步命令同时执行。

 

更多内容请关注微信公众号:xinsz08


配置inotify实现实时同步相关推荐

  1. rsync+inotify实现实时同步案例详解

    rsync+inotify实现实时同步案例详解 转自:http://chocolee.blog.51cto.com/8158455/1400596 随着应用系统规模的不断扩大,对数据的安全性和可靠性也 ...

  2. rsync远程同步及结合inotify实现实时同步

    rsync远程同步及结合inotify实现实时同步 rsync 命令格式 常用选项 实现免交互 rsync同步配置 环境准备 同步源编写rsync配置文件 创建数据文件 确保读取权限 开启服务 sla ...

  3. 运维之道 | Linux rsync 文件同步、Inotify远程实时同步

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

  4. 真正的inotify+rsync实时同步 彻底告别同步慢

    真正的inotify+rsync实时同步 彻底告别同步慢 我们公司在用inotify+rsync做实时同步,来解决分布式集群文件一致性的问题.但当web文件越来越多(百万级数量html,jpg等小 文 ...

  5. rsync + inotify 实现实时同步

    rsync + inotify 实现实时同步 rsync 简介 Rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具.并且可以不进行改变原有数据的属性信息,实现 ...

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

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

  7. 【Rsync + inotify】 实时同步远程服务器目录文件

    文章目录 服务端 安装.配置 rsync 客户端 安装rsync 使用rsysnc 实现 实时同步 如何排错??? 服务端 安装.配置 rsync centos: # yum install rsyn ...

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

    随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐渐暴露出了很多不足,首先,rsync同步数据时,需要扫描所有文件后进行比对,进行差量传输.如果文件数 ...

  9. Cetnos环境下inotify+rsync实时同步

    一.介绍 1.1 rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.rsync使用所谓的"rsync算法"来使本地和远程两个主机之间的文件达到同步 ...

最新文章

  1. SpringSecurity使用 配置文件 和wen.xml 文件配置
  2. AI 时代,还不了解大数据?
  3. Oracle的SOME,ANY和ALL操作
  4. 将Excel的数据导入DataGridView中(转)
  5. (四)代码优化 (快来看看怎样写出真正高性能的代码)
  6. c++基础学习(03)--(存储类,运算符,循环,判断)
  7. semihost/ITM机制浅析以及使用JLINK通过ITM调试stm32单片机
  8. Java显示smart3d数据_[转][smart3d]Smart3D之手动配置 S3C 索引加载全部的OSGB瓦片数据...
  9. 根据身份证号码获取身份证信息(省市县、出生日期、性别)
  10. 网红品牌终将祛魅,而伊利、康师傅这些老司机们却仍然历久弥新
  11. python学习线路图
  12. springboot+vue+elementUI搭建个人博客
  13. Python:实现Julia集算法(附完整源码)
  14. 苹果耳机airpods2需要激活?_苹果耳机三兄弟,谁才是安卓手机的绝配?
  15. 学习jqr2013-05-11
  16. 国产大数据系统通过验收,”核高基”基础软件再下一城
  17. 个人云盘、企业云盘傻傻分不清楚?3分钟带你清晰两者差异!...
  18. 麦肯锡精英高效读书法心得
  19. do还是doing imagine加to_请问,是“imagine sb. to do sth. ”还是“imagine sb. doing sth.”?...
  20. 基于Spark的电影推荐系统(推荐系统~4)

热门文章

  1. 重磅消息!视频号直播可以打赏了,微信上线“微信豆”丨国仁网络
  2. html 切换盘符,盘符是什么
  3. python 分数序列求和公式_Python练习题 019:求分数序列之和
  4. ubuntu16.04中安装R3.6
  5. 腾讯游戏客户端开发网易互娱暑期实习面经
  6. 二进制方式安装k8s-部署kube-controller-manager
  7. 水仙花数闰年C语言,C++判断闰年
  8. java之求图的连通分支
  9. android zip中文乱码,Android中解压zip中文乱码处理
  10. 内部灵活用工有望成为中国劳动力的源头活水