Linux-用rsync进行文件同步
之前听说过linux下的数据同步软件,*sync之类的,一直未亲自安装过.现在工作中开发环境与测试环境分开.遇到bug,开发环境会及时更新,测试环境这时就需要同步.总不能每次更新都手动操作吧,于是想到了进行数据同步.别废话了,动手吧!! 1、场景介绍 :两台RHEL5.4、server-path=/opt/100_ROOT 、client-path=/opt/test 自动将server的/opt/100_ROOT下文件 同步到client的/opt/test/里,需验证. 2、server端安装 到http://rsync.samba.org/下载rsync-3.0.9.tar.gztar.gz 解压后编译安装 # ./configure --prefix=/opt/rsync # make # make install 在/etc下创建rsyncd.conf 添加如下内容: ####全局设置#### ####模块#### write only = no --no客户端可下载文件,yes不能下载 #list = yes --是否提供资源列表 path = /opt/100_ROOT --要同步的目录 comment = paas --这个名名称无所谓,最好和模块名一致 auth users = www --登陆系统使用的用户名,没有默认为匿名. secrets file = /etc/rsync.pas --密码文件存放的位置 hosts allow = "clientIP" --本模块允许通过的IP地址 #hosts deny = "拒绝的IP" --禁止主机IP 在/etc下创建密码文件rsync.pas 添加用户和密码,格式为:用户名:密码 修改rsyncd.conf和rsync.pas的权限 # chmod 600 /etc/rsync* 注:a.这里的账户不一定是系统或个人账户,随意设就行,只做server与client间验证之用. b.建议不要在上述的rsyncd.conf配置文件中加注释,起初我安装完,client连接server时老是提示对模块没有权限,逐个选项验证发现同时去掉path和secrets file 后面的注释就没事了. 启动server端的rsync服务 # opt/rsync/bin/rsync --daemon 此时会启动一个监听873端口的守护进程. 3、客户端安装 同样编译安装rsync 之后只需在/etc下创建密钥文件rsync.pas,只添加验证用户的密码就行了. 现在先同步一次吧 # /opt/rsync/bin/rsync -vzrltpog www@serverIP::paas /opt/test --password-file=/etc/rsync.pas -v:显示详情 -z:压缩 -r:递归 -t:保持文件时间 -p:保持文件权限 -o:保持文件所属用户 -g:保持文件所属组 www:进行验证的用户 paas:要同步的模块 /opt/test:要同步到的本地路径 --password-file:本地的密钥文件 注:过程中发现-o和-g同步过来的是UID和PID,从server同步过来的文件的所属和组变了,经检查发现server和client两边的文件的owner和group的ID相同,只是名字不同,回想linux对文件属性的处理原理会有所领悟,还需验证. 4、 将server端的启动命令做成随机启动 client端的同步命令加入定时任务. 以上是对rsync同步数据的初安装,随后还会进一步学习研究. |
|||||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |