rsync+innotify做到同步式更新
innotify主要功能:
他是内核用于通知用户控件程序文件系统变化的机制。
也就是说,当服务器发生了任何的改动,内核都会知道并通知用户。
rssync(做同步的)+innotify做到的就是实时的同步。
首先,我们需要明白的rsync的工作机制,常用的工作模式有俩种:
1,rsync客户端向服务器端推送文件。eg:
rsync -avz --progress /opt/ yangshuai@192.168.10.152::backup1 --password-file=/etc/rsyncd.secrets1
opt:客户端被推送文件所在的目录。
yangshuai@192.168.10.152::backup1 对端服务器的用户和IP,加上模块
/etc/rsyncd.secrets1:本机的密码文件,只有密码。
2,rsync客户端从服务器端下载文件。
rsync -vzrtopg --password-file=/etc/rsyncd.secrets yangshuai@192.168.10.252::backup /opt
--password-file=/etc/rsyncd.secrets:本机的密码文件,只有密码.
yangshuai@192.168.10.252::backup 对端服务器的用户和IP,加上模块
opt: 想要把从服务器端下载的文件存放的目录。
要想利用rsync+innotify做到实时同步,我们可以用到的是rsync客户端向服务器端传送文件。
客户端需要做的是安装rsync,并安装innotity模块。
安装rsync:
yum -y install rsync
无需输入密码访问 echo "123456">>/etc/rsyncd.secrets
安装innotity模块并写监控脚本:
将压缩包上传到客户端
解压:tar zvxf inotify-tools-3.13.tar.gz
编译安装: cd inotify-tools-3.13
./configure --prefix=/usr/local/inotify
make && make install
编写监控脚本:
vi rsync.sh
#!/bin/bash
src=/opt/
des=backup1
ip=192.168.10.152
/usr/local/inotify/bin/inotifywait -mrq --timefmt '%d/%m/%y/%H:%M' --format '%T%w%f' -e modify,delete,create,attrib $src | while read file
do
rsync -vzrtopg --delete --progress $src yangshuai@$ip::$des --password-file=/etc/rsyncd.secrets1 &&
echo "$src has been resynced"
done
执行监控脚本,并在后台执行
sh rsync.sh &
服务器端做的配置:
安装rsync,并编写配置文件:
yum -y install rsync
vi /etc/rsyncd.conf
pid file = /var/run/rsyncd.pid
port = 873
address = 192.168.10.152 #主机的地址
uid = root
gid = root
use chroot = yes
read only = no
write only = no
hosts allow = * #备份主机的地址
hosts deny = *
max connections = 10
timeout = 300
log file = /var/log/rsyncd.log
transfer logging = yes
log format = %t %a %m %f %b
[backup1]
path=/opt/ #被客户端推送的时候,是存放路径:被客户端下载的时候,是下载路径。
list = yes
ignore errors = yes
auth users = yangshuai #连接用户的名字
secrets file=/etc/rsyncd.secrets
编写密码文件并配置权限:
vi /etc/rsyncd.secrets
yangshuai:123456
chmod 600 /etc/rsyncd.secrets
启动服务:
rsync --daemon
现在整个rsync服务器就已经搭建好了,并且能做到实时同步。
直接在客户端做测试就好了
日常笔记,有问题的话请联系我531197592@qq.com
rsync+innotify做到同步式更新的更多相关文章
- Rsync+lsync实现触发式实时同步
使用rsync+lsync实现触发式实时同步 服务器信息 centos6.5 主:192.168.5.4 搭建lsync 从:192.168.5.3 搭建rsync 1.1 从服务器设置 # yum ...
- 分布式系统中一些主要的副本更新策略——Dynamo/Cassandra/Riak同时采取了主从式更新的同步+异步类型,以及任意节点更新的策略。
分布式系统中一些主要的副本更新策略. 1.同时更新 类型A:没有任何协议,可能出现多个节点执行顺序交叉导致数据不一致情况. 类型B:通过一致性协议唯一确定不同更新操作的执行顺序,从而保证数据一致性 2 ...
- rsync+inotify 实现资源服务器的同步目录下的文件变化时,备份服务器的同步目录更新,以资源服务器为准,去同步其他客户端
测试环境: 资源服务器(主服务器):192.168.200.95 备份服务器(客户端):192.168.200.89 同步目录:/etc/test 同步时使用的用户名hadoop密码12345 实验目 ...
- 2-3-2 rsync+inotify备份同步数据
RSYNC = Remote Sync 远程同步 高效,一定要结合shell 官网:https://rsync.samba.org Author: Andrew Tridgell, Wayne Dav ...
- (转)rsync+inotify实时同步
原文:http://lxw66.blog.51cto.com/5547576/1331048 声明:rsync inotify 需要逆向思考,当只做rsync不实时同步时,我们一般是从rsync服务端 ...
- linux服务器之间的文件同步;rsync+inotifywait;同步多个目录
1.双向同步:unison+inotify 2.单向同步:rsync+inotify python版的pyinotify 本文介绍第二种方法: 1.Inotify 是一个 Linux特性,它监控文件系 ...
- inotify+rsync文件实时同步
原文转自http://dl528888.blog.51cto.com/2382721/771533/ 之前做了“ssh信任与scp自动传输脚本”的技术文档,此方案是作为公司里备份的方法,但在实际的运行 ...
- RSync实现文件备份同步
[rsync实现网站的备份,文件的同步,不同系统的文件的同步,如果是windows的话,需要windows版本cwrsync] 一.什么是rsync rsync,remote synchronize顾 ...
- 【转】CentOS5.6下配置rsync内网同步数据到外网
[转]CentOS5.6下配置rsync内网同步数据到外网 本文转自:http://www.linuxidc.com/Linux/2012-06/64070.htm 一.需求 卫士那边有一个需求,就是 ...
随机推荐
- Spring事务管理与数据库隔离级别的关系(Spring+mysql)
之前写过一篇文章<数据库隔离级别(mysql+Spring)与性能分析 >,里面很多问题写的不是很专业,也不是很有逻辑性,现在重新整理一下,希望对大家有帮助. 这部分通过两天时间反复的 ...
- A*寻路算法入门(四)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...
- Unity插件 - MeshEditor(二) 模型网格编辑器(高级)
源码已上传至github,并持续更新,链接请看底部.(本帖跟随github持续更新) 继先前的一篇MeshEditor之后,MeshEditor第二版发布,这次在先前的基础上加入了为模型新增顶点以及删 ...
- pig 的chararry类型不能用比较运算符comparison operator
pig 的chararry类型可能是按字段,逐个字段进行比较. element_id 是chararray类型, 语句: no_app_category_mapping = filter no_ele ...
- 【Android 应用开发】 Application 使用分析
博客地址 : http://blog.csdn.net/shulianghan/article/details/40737419 代码下载 : Android 应用 Application 经典用法; ...
- 【Unity技巧】调整画质(贴图)质量
写在前面 当我们在Unity中,使用图片进行2D显示时,会发现显示出来的画面有明显的模糊或者锯齿,但是美术给的原图却十分清晰. 要改善这一状况实际上很简单. 造成这样的原因,是Unity在导入图片(或 ...
- pig读取部分列 (全部列中的少部分列)
pig流式数据,load数据时,不能读入任意列. 但是,可以从头读,只能连续几列.就是前几列.比如10列数据,可以只读前3列.但不能读第3列: 如:数据testdata [wizad@sr104 lm ...
- android studio2.0出现的gradle问题,instant Run即时运行不了.
android studio 2.0出现的gradle问题: instant Run即时运行不了.经历了几乎9个preView版本的AS2.0,终于迎来了正式版,然而晴天我的霹雳,好不容易装好的2.0 ...
- 【Unity Shaders】Diffuse Shading——漫反射光照改善技巧
本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源 ...
- 通过iframe引入另外一个项目中的html片段到项目中,解决样式,高度,兼容等问题的策略
<!--尾部开始--> <iframe src="http://172.16.24.11:9000/cartoon-web/footer_new" m ...