设为首页 收藏本站
查看: 570|回复: 0

[经验分享] 用rsync进行文件同步

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-5-19 08:31:14 | 显示全部楼层 |阅读模式
实施目的:
实现将文件从10.0.0.40/wb/的文件同步到10.0.0.194/wb/下
实施流程:
1.在两台机器上安装rsync
yum install rsync

2.配置服务端(被同步服务器),10.0.0.194
vi /etc/rsyncd.conf
添加以下内容:
uid = tomcat #设置执行rsync的本地用户
gid = tomcat  #设置执行rsync的本地组
use chroot = yes #是否chroot

max connections = 4  #最大同时连接数

pid file = /var/run/rsyncd.pid  #指定rsync服务进程的pid file

lock file = /var/run/rsync.lock  #指定rsync服务端锁定文件log file = /var/log/rsyncd.log     #指定rsync的log输出路径

log file = /var/log/rsyncd.log  #设置执行rsync的本地组

[logfile]  #模块设定,可设置多个模块
path = /wb/log/  #同步文件的真实路径
ignore errors
read only = false   #是否只读
list = false
hosts allow =10.0.0.40/255.255.255.240 #允许同步的ip/网段
hosts deny = 0.0.0.0/32
auth users = backznfs #身份验证用户。这不是系统用户,而是rsync服务自定的
secrets file = /etc/rsyncd.pwd  #logfile模块的密码文件


[testabc]
path = /wb/abc/
ignore errors
read only = false
list = false
hosts allow =10.0.0.40/255.255.255.240
hosts deny = 0.0.0.0/32
auth users = backznfs
secrets file = /etc/rsyncd.pwd
uid和gid指明了运行身份(本机上创建该用户,由于40上的文件目录权限都是tomcat所以本机创建tomcat用户),chroot表示连接后自动切换目录,read only=false是允许别的客户端向本机的服务器端上传。host allow和deny是限制连接地址。auth user是认证用户名,secrets file = /etc/rsyncd.pwd是表示认证用户名的时候到这里读取密码。
3.编写密码文件(服务端含用户名和密码)
vi /etc/rsyncd.pwd  
backznfs:123456  

4.启动服务端,服务端的工作完成
/usr/bin/rsync --daemon   #启动服务

ps -ef|grep rsync   #查看进程

5.创建密码文件:
#vi /root/rsync.pwd
123456

6.在客户端执行命令测试(下方列出了几项常见错误)
rsync -vrtL --progress  /wb/abc/*  backznfs@10.0.0.194::wwwfile --password-file=/root/rsync.pwd


7.编写定时运行脚本;

新建日志备份脚本文件
#vi rsync_log.sh
rsync -vrtL --progress
--exclude "www" /wb/log*  backznfs@10.0.0.194::logfile --password-file=/root/rsync.pwd
注:--exclude "www" 表示除去/wb/log/www这个目录不同步,不除去可以不写;
-v参数表示显示输出结果,r表示保持属性,t表示保持时间,L表示软link视作普通文件。
–delete 是指如果Server端删除了一文件,那客户端也相应把这一文件删除,保持真正的一致

./rsync_log.sh 可手动执行是否正确(注:如果无法自动补齐文件名,说明无可执行文件;如果是脚本调用的话并不需要执行权限。)

wKioL1VZ5BTC82cYAACgg0W0gFw586.jpg
错误原因:服务端未开启服务;

wKiom1VZ4rLhSC17AABhybLsh0Y168.jpg
错误原因:客户端密码文件需设置为600;(或700,但未测试700)

wKiom1VZ4uqwN6FKAACBXyHTqsA011.jpg
可能错误原因:1、两边密码是否匹配;
              2、服务端密码文件中要带上用户名、客户端的不用;
              3、服务端的密码文件是否设置为600;

wKiom1VZ43WBugvfAABYxmQv098777.jpg
错误原因:1、目录不存在;
          2、调用的配置文件中的路径属性名称是否写错;
wKioL1VZ6STgw7dmAAD_Ck_uurc447.jpg 错误原因:
/etc/rsyncd.conf配置文件中有错误,例如uid = rsync写成了d = rsync.请仔细检查

wKiom1VZ58CwQqA8AAEzbxuOizE449.jpg 错误原因:权限不够,必须保证服务端目录的权限不低于客户端(发送方);

注:修改配置文件不需要重启服务.
#查看错误日志
tail -f /var/log/rsyncd.log

8.定时任务,调用脚本文件。
crontab -e (编辑文件,输入以下内容,自动定义规则)
1,20,40 * * * * /root/rsync_log.sh>/dev/null

crontab -l (查看定时任务)

注意事项:
1.密码文件两边都有,注意目录
2.两个服务器文件目录的权限要一致;起码保证服务端目录的权限不低于客户端(发送方);


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-68326-1-1.html 上篇帖子: SSH利用pam chroot限制登录用户 下篇帖子: Ubuntu安装Python模块时的报错
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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