首页 > Web开发 > 详细

linux服务器 rsync + inotify 实时网站镜像

时间:2016-03-03 15:04:45      阅读:365      评论:0      收藏:0      [点我收藏+]

系统版本:CentOS 6.5    rsync版本:rsync-3.0.6-9    inotify-tools版本:inotify-tools-3.14


    rsync工具与inotify机制相结合,可以实现触发式备份(实时同步)——只要原始位置的文档发生变化,则立即启动增量备份操作,这样就可以实现实时网站镜像功能


案例拓扑图:

技术分享

案例环境:某公司在北京和上海两地各放置了一台网站服务器,分别应对南北大区内不断增长的客户访问需求,两台服务器的网站文档必须保持一致,同步链路已经通过VPN专用线路实现

技术分享


一、配置服务器A

1.安装软件rsync、openssh和openssh-server(系统默认已经安装,如没有使用rpm包安装即可)

技术分享


2.安装inotify-tools工具(提供inotifywait、inotifywatch辅助工具,用来监控、汇总改变情况)

技术分享


3.构建ssh的密匙对验证

技术分享

将密钥的公匙文件发送到服务器B的/tmp目录中

技术分享


二、配置服务器B

1.安装软件openssh和openssh-server(系统默认是安装好的)

技术分享


2.创建用于上传数据的用户

技术分享


3.设置用户对目录的写权限(由于/var/www/html是网站目录,为了安全起见,不建议更改目录的归宿,可以通过设置文件或目录的ACL属性来实现rsync对目录的写权限)

技术分享


4.导入公匙文本(之前服务器A上传过来的公匙文件,在/tmp/目录下)

首先创建用户rsync的公匙数据库目录/home/rsync/.ssh

技术分享

然后将公匙文件导入到该数据库中,默认文件名为authorized_keys

技术分享


5.开启sshd服务,并且注意防火墙规则

技术分享


三、编写触发式同步脚本,在客户机(服务器A)上操作

1.实时监控工具inotifywait用法: 

选项“-e”用来指定要监控哪些事件,选项“-m”表示持续监控,选项“-r”表示递归整个目录,选项“-q”简化输出信息;可以监控modify(修改)、create(创建)、move(移动)、delete(删除)、attrib(属性更改)等各种事件,一有变动马上输出结果


2.编写脚本,内容如下:

技术分享

技术分享


四、启动脚本文件,验证是否同步

技术分享


1.在服务器A的/var/www/html目录下创建文件

技术分享


2.查看服务器B的/var/www/html目录中是否同步

技术分享


这样就达到了实时同步的效果

linux服务器 rsync + inotify 实时网站镜像

原文:http://928004321.blog.51cto.com/10707688/1747044

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!