仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 735|回复: 9
打印 上一主题 下一主题

[CentOS(社区)] 给大家带来rsync+inotify 完成数据及时同步

[复制链接]
第二个灵魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 20:33:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!1、道理简介(道理内容来自收集)
1.rsync
与传统的cp、tar备份体例比拟,rsync具有宁静性高、备份敏捷、撑持增量备份等长处,经由过程rsync能够办理对及时性请求不高的数据备份需求,比方按期的备份文件办事器数据到远端办事器,对当地磁盘按期做数据镜像等,跟着使用体系范围的不休扩展,对数据的宁静性和牢靠性也提出的更好的请求,rsync在高端营业体系中也渐渐表露出了良多不敷,起首,rsync同步数据时,必要扫描一切文件落后行比对,举行差量传输。假如文件数目到达了百万乃至万万量级,扫描一切文件将长短常耗时的。并且正在产生变更的常常是个中很少的一局部,这长短常低效的体例。其次,rsync不克不及及时的往监测、同步数据,固然它能够经由过程linux保卫历程的体例举行触发同步,可是两次触动员作必定会偶然间差,如许就招致了办事端和客户端数据大概呈现纷歧致,没法在使用妨碍时完整的规复数据。基于以上缘故原由,rsync+inotify组合呈现了!
2.inotify
Inotify是一种壮大的、细粒度的、异步的文件体系事务监控机制,linux内核从2.6.13起,到场了Inotify撑持,经由过程Inotify能够监控文件体系中增加、删除,修正、挪动等各类渺小事务,使用这个内核接口,第三方软件就能够监控文件体系下文件的各类变更情形,而inotify-tools就是如许的一个第三方软件。在下面章节中,我们讲到,rsync能够完成触发式的文件同步,可是经由过程crontab保卫历程体例举行触发,同步的数据和实践数据会有差别,而inotify能够监控文件体系的各类变更,当文件有任何变化时,就触发rsync同步,如许恰好办理了同步数据的及时性成绩。
注:
rsyncinotify必要逆向思索,当只做rsync不及时同步时,我们通常为从rsync办事端向rsync客户端同步数据。当必要增加inotify完成及时同步数据时,我们就必要从rsync客户端向各rsync办事端同步数据,如许rsync客户端就酿成了master,而rsync办事端就酿成了slave。
道理:当web3的当地目次,也就是必要同步的目次产生变更时,好比有文件更名、更新、删除、权限变更,此时就利用inotify下令查找这些变更,举行响应的轮询事情
2、体系情况
操纵体系CentOSrelease6.5(Final)rsyncclientCentOSrelease6.5(Final)rsyncserverCentOSrelease6.5(Final)3、拓扑图

4、设置历程
1、装置Rsync办事端(FTP:192.168.1.30)
1
#yum-yinstallxinetdrsync



2、为rsync办事供应设置文件
uid=nobody
gid=nobody
usechroot=no
maxconnections=3
timeout=800
pidfile=/var/run/rsyncd.pid
lockfile=/var/run/rsyncd.lock
logfile=/var/log/rsyncd.log
[ftp]
path=/var/ftp
ignoreerrors=yes
readonly=no
writeonly=no
hostsallow=192.168.1.200
hostsdeny=*
list=yes
uid=root
gid=root
authusers=ftp
secretsfile=/etc/ftp.passwd



3、创立同步的目次
#mkdir/var/ftp
#cat/etc/ftp.passwd
ftp:123
#chmod600/etc/ftp.passwd
#ll/etc/ftp.passwd
-rw-------1rootroot8Mar2315:47/etc/ftp.passwd



4、增加启动剧本

5、查启xinetd保卫历程

7、设置Rsync办事端(WEB:192.168.1.200)
(1)、装置并编纂设置文件
#yuminstall-yrsyncxinetd
#vim/etc/rsyncd.conf
#GlobalSettings
uid=nobody
gid=nobody
usechroot=no
maxconnections=3
timeout=800
pidfile=/var/run/rsyncd.pid
lockfile=/var/run/rsyncd.lock
logfile=/var/log/rsyncd.log
[web]
path=/var/www
ignoreerrors=yes
readonly=no
writeonly=no
hostsallow=192.168.1.100
hostsdeny=*
list=yes
uid=root
gid=root
authusers=web
secretsfile=/etc/web.passwd



8、创立目次、暗码文件及权限
#mkdir/var/www
#echo"web:web">/etc/web.passwd
#chmod600/etc/web.passwd
#ll/etc/web.passwd
-rw-------1rootroot8Mar2122:54/etc/web.passwd



5、设置rsync客户端(192.168.1.100)
1、设置rsync客户真个暗码文件,客户端只必要设置rsync同步的暗码便可,不必设置用户名
#yuminstall-yrsyncxinetd
#echo"web">/etc/web.passwd
#echo"123">/etc/ftp.passwd
chomd600/etc/web.passwd
chmod600/etc/ftp.passwd



2、装置inotify-tools

#yuminstall-yinotify*



3、在192.168.1.100上测试下可否同步文件
1)第1条是是从rsync客户端192.168.1.200上传文件到rsync办事端192.168.1.100,这里必需要指定暗码文件

2)第2条是从rsync办事端(192.168.1.100)下载文件到rsync客户端(192.168.1.200)

3)以上两条申明了,rsync办事端和客户端是可用的;经测试,另外一台rsync办事端也可用,不再贴图了。接上去的义务就是编写办事剧本了,可以让rsync客户端主动监测目次的变化情形,并主动同步到rsync办事端,完整完成主动化。
6、编写rsync剧本,完成数据及时同步
1、在rsync客户端(192.168.1.200)编写rsync剧本
#vim/etc/init.d/rsyncd
#!/bin/bash
src=/var/web/
des1=web
des2=ftp
host1=192.168.1.100
host2=192.168.1.30
user1=web
user2=ftp
/usr/bin/inotifywait-mrq--timefmt%d/%m/%y%H:%M--format%T%w%f-emodify,delete,create,attrib$src|whilereadfileDATETIMEDIR;
do
/usr/bin/rsync-vzrtopg--delete--progress$src$user1@$host1::$des1--password-file=/etc/web.passwd
/usr/bin/rsync-vzrtopg--delete--progress$src$user2@$host2::$des2--password-file=/etc/ftp.passwd
echo"${files}wasrsynced">>/var/log/rsync.log2>&1
done




2、把剧本到场到开机主动启动文件
1
2
#chmod+x/etc/init.d/rsyncd
#echo"/etc/init.d/rsyncd">>/etc/rc.d/rc.local



3、检察了局:

因为两头准确信息分歧,以是未几截图了
===================================完=======================================
本文出自“暴风骤雨”博客,请务必保存此出处http://essun.blog.51cto.com/721033/1387715
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!
莫相离 该用户已被删除
沙发
发表于 2015-1-16 20:22:12 | 只看该作者

给大家带来rsync+inotify 完成数据及时同步

说实话小时候没想过搞IT,也计算机了解也只是一些皮毛,至于什么UNIX,Linux,听过没见过,就更别说用过了。?
金色的骷髅 该用户已被删除
板凳
发表于 2015-1-19 05:36:27 | 只看该作者
尽量不要提问纯属是扯蛋.学习Linux特别是自己一个人初学入手的时候没人教很困难.当然如果可以的话平时多去买些Linux书...对学习Linux很有帮助.
不帅 该用户已被删除
地板
发表于 2015-1-28 05:08:11 | 只看该作者
眼看这个学期的Linux课程已经告一段落了,我觉得有必要写一遍心得体会来总结一下这学期对着门课程的学习。
只想知道 该用户已被删除
5#
发表于 2015-2-5 17:12:04 | 只看该作者
目前全球有超过一百多个Linux发行版本,在国内也能找到十几个常见版本。如何选择请根据你的需求和能力,RedhatLinux和DebianLinux是网络管理员的理想选择。
再现理想 该用户已被删除
6#
发表于 2015-2-13 03:56:40 | 只看该作者
学习Linux系统在服务中的配置方法及使用方法。Linux在服务器中应用相当广,应对常用的apache,samba,ftp等服务器基本配置清楚了解。[重点,应巩固学习]
7#
发表于 2015-3-3 14:13:48 | 只看该作者
查阅经典工具书和Howto,特别是Howto是全球数以万计的Linux、Unix的经验总结非常有参考价值通常40%的问题同样可以解决。
深爱那片海 该用户已被删除
8#
发表于 2015-3-11 12:41:48 | 只看该作者
放手去搞。尽量不要提问,运用搜索找答案,或者看wiki,从原理上理解操作系统的本质,而不是满足于使用几个技巧。尽量看英文资料。
小魔女 该用户已被删除
9#
发表于 2015-3-18 18:48:55 | 只看该作者
对Linux命令熟悉后,你可以开始搭建一个小的Linux网络,这是最好的实践方法。Linux是网络的代名词,Linux网络服务功能非常强大,不论是邮件服务器、Web服务器、DNS服务器等都非常完善。
爱飞 该用户已被删除
10#
发表于 2015-3-26 16:56:33 | 只看该作者
Linux最大的特点就是其开源性,这一点是十分难得的,这也是它能够存在到现在的原因之一。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-14 22:16

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表