配置inotify实现实时同步
把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实现实时同步相关推荐
- rsync+inotify实现实时同步案例详解
rsync+inotify实现实时同步案例详解 转自:http://chocolee.blog.51cto.com/8158455/1400596 随着应用系统规模的不断扩大,对数据的安全性和可靠性也 ...
- rsync远程同步及结合inotify实现实时同步
rsync远程同步及结合inotify实现实时同步 rsync 命令格式 常用选项 实现免交互 rsync同步配置 环境准备 同步源编写rsync配置文件 创建数据文件 确保读取权限 开启服务 sla ...
- 运维之道 | Linux rsync 文件同步、Inotify远程实时同步
Linux rsync 文件同步服务器 与传统的cp.scp.tar备份方式相比,rsync具有安全性高.备份迅速.支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例如定期的 ...
- 真正的inotify+rsync实时同步 彻底告别同步慢
真正的inotify+rsync实时同步 彻底告别同步慢 我们公司在用inotify+rsync做实时同步,来解决分布式集群文件一致性的问题.但当web文件越来越多(百万级数量html,jpg等小 文 ...
- rsync + inotify 实现实时同步
rsync + inotify 实现实时同步 rsync 简介 Rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具.并且可以不进行改变原有数据的属性信息,实现 ...
- rsync+inotify实现实时同步案例--转
转自:http://chocolee.blog.51cto.com/8158455/1400596 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐 ...
- 【Rsync + inotify】 实时同步远程服务器目录文件
文章目录 服务端 安装.配置 rsync 客户端 安装rsync 使用rsysnc 实现 实时同步 如何排错??? 服务端 安装.配置 rsync centos: # yum install rsyn ...
- rsync+inotify实现实时同步案例
随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐渐暴露出了很多不足,首先,rsync同步数据时,需要扫描所有文件后进行比对,进行差量传输.如果文件数 ...
- Cetnos环境下inotify+rsync实时同步
一.介绍 1.1 rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.rsync使用所谓的"rsync算法"来使本地和远程两个主机之间的文件达到同步 ...
最新文章
- SpringSecurity使用 配置文件 和wen.xml 文件配置
- AI 时代,还不了解大数据?
- Oracle的SOME,ANY和ALL操作
- 将Excel的数据导入DataGridView中(转)
- (四)代码优化 (快来看看怎样写出真正高性能的代码)
- c++基础学习(03)--(存储类,运算符,循环,判断)
- semihost/ITM机制浅析以及使用JLINK通过ITM调试stm32单片机
- Java显示smart3d数据_[转][smart3d]Smart3D之手动配置 S3C 索引加载全部的OSGB瓦片数据...
- 根据身份证号码获取身份证信息(省市县、出生日期、性别)
- 网红品牌终将祛魅,而伊利、康师傅这些老司机们却仍然历久弥新
- python学习线路图
- springboot+vue+elementUI搭建个人博客
- Python:实现Julia集算法(附完整源码)
- 苹果耳机airpods2需要激活?_苹果耳机三兄弟,谁才是安卓手机的绝配?
- 学习jqr2013-05-11
- 国产大数据系统通过验收,”核高基”基础软件再下一城
- 个人云盘、企业云盘傻傻分不清楚?3分钟带你清晰两者差异!...
- 麦肯锡精英高效读书法心得
- do还是doing imagine加to_请问,是“imagine sb. to do sth. ”还是“imagine sb. doing sth.”?...
- 基于Spark的电影推荐系统(推荐系统~4)
热门文章
- 重磅消息!视频号直播可以打赏了,微信上线“微信豆”丨国仁网络
- html 切换盘符,盘符是什么
- python 分数序列求和公式_Python练习题 019:求分数序列之和
- ubuntu16.04中安装R3.6
- 腾讯游戏客户端开发网易互娱暑期实习面经
- 二进制方式安装k8s-部署kube-controller-manager
- 水仙花数闰年C语言,C++判断闰年
- java之求图的连通分支
- android zip中文乱码,Android中解压zip中文乱码处理
- 内部灵活用工有望成为中国劳动力的源头活水