rsync服务器间的文件同步_服务器集群部署代码

 


一、前期准备
服务器端:192.168.0.1
客户端(需要同步代码的机器):192.168.0.2


二、安装rsync
192.168.0.1和192.168.0.2机器都装上rsync
yum install rsync


注意服务器端192.168.0.1需要开放端口873,因为rsync默认监听873


三、服务器端配置
192.168.0.1服务器端配置rsyncd.conf文件,yum安装则是vim /etc/rsyncd.conf
编辑输入以下内容,关键地方已标红


uid = root
gid = root
use chroot = no
max connections = 4


exclude = lost+found/ .svn/
# 传输时候,不传这些目录


transfer logging = yes
timeout = 900
ignore nonreadable = yes
dont compress = .gz .tgz .zip .z .Z .rpm .deb .bz2


[test_php_deploy] 
# 自定义的标签名字,后续在客户端会用上


path=/root/.jenkins/workspace/test_php_deploy/ 
#客户端需要从服务器端同步的文件目录,存在于服务器端上


comment=test_php_deploy
# 自定义的标签名字,后续在客户端会用上


ignore errors
read only=yes
write only=no
list=no


auth user=root
#一个存在于服务器端的用户,如有多个逗号隔开,并且要求具有对需同步目录下的文件的读和执行权限。


secrets file=/etc/rsyncd.passwd
#存放用户名和密码的地方


hosts allow = 192.168.0.2
#代表允许所有的地址,安全起见,最好是客户端的地址。


四、配置服务器端的密码
vim /etc/rsyncd.passwd,无则服务器端新建,输入以下内容:
root:test2018



在服务器端新建后,改变权限
chmod 600 /etc/rsyncd.passwd



在服务器端,以daemon模式运行
rsync --daemon



五、在客户端执行
rsync -vzrtopg [email protected]::test_php_deploy /home/www/test/ --password-file=/etc/rsyncd.passwd --delete


命令解释:
root为服务器端的rsyncd.conf文件的auth user授权用户
192.168.0.1为服务器端ip
test_php_deploy为服务器端的rsyncd.conf文件的test_php_deploy模块
/home/www/test/为从服务器端同步文件到本地的指定目录
--password-file=/etc/rsyncd.passwd为用服务器端的密码文件

 

 

--delete为删除本地多余的目录文件,也就是与服务器端的目录文件匹配后不一样的多余文件

 

 

 

rsync服务器间的文件同步_服务器集群部署代码_第1张图片

如想了解更多技术架构文章,扫码关注我的个人公众号以及转发分享哈~

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(linux)