一、前期准备
服务器端: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为删除本地多余的目录文件,也就是与服务器端的目录文件匹配后不一样的多余文件
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。