本站文章总数为:165
Search Posts

windows cwRsync同步本地文件到linux服务器

内容纲要

jenkins unity自动化打包

打包的后发布需要将jenkins打包出来的unity webgl同步到linux服务器上

这就需要 windows cwRsync同步本地文件到linux服务器

目标linux服务器需要启动rsync

先改配置

Linux配置好了rsync服务,从windows同步文件过去之后,发现文件的权限很低,导致在LInux上用低权限的用户访问失败,权限不足。

这是因为使用rsync同步文件会保留文件的权限属性,但是Windows上不是Linux那套权限机制,幸好rsync官方具有配置后用户同步文件会强制把权限改为server端设定值。
在rsyncd.conf中加上一行:
incoming chmod = Du=rwx,Dog=rx,Fu=rwx,Fgo=rx
这样就会强制把同步以后的目录权限改为755.

vim /etc/rsyncd.conf

添加如下内容

test为同步目标路径配置

uid=root
port=873

use chroot = no
read only = no
list = no
max connections = 0
#ignore errors
#log file = /var/log/rsyncd.log
pidfile = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
secrets file = /etc/rsync.pass
motd file = /etc/rsyncd.motd

log format = %t %a %m %f %b
incoming chmod = Du=rwx,Dog=rx,Fu=rwx,Fgo=rx
syslog facility = local3
#timeout = 300

[test]
path = /usr/share/nginx/html/test
read only = no
list = yes
auth users = test
#hosts allow = 172.19.62.150/20

然后设置test的密码 以及密码文件的权限为600,不然启动不起来

echo "test:test_password" > /etc/rsync.pass
chmod 600 /etc/rsync.pass

然后启动

rsync --daemon -4 --config=/etc/rsyncd.conf

windows机器安装cwrsync

下载地址

https://wws.lanzouy.com/iE66L0e386vi

包含服务端跟客户端,只安装客户端cwRsync_4.1.0_Installer.exe

然后把test的密码test_password写到一个txt文件里,比如我放在了D盘test.txt

注意使用cwRsync写路径的时候E:\svn写为cygdrive/e/svn

cygdrive接盘符再接路径

最后的同步命令写法为

"D:\Program Files (x86)\cwRsync\bin\rsync.exe" -avh --port=873  --no-super   --password-file=/cygdrive/d/test.txt /cygdrive/e/svn/park/dev/client/park/Build test@135.21.65.189::test

放到cmd执行或者写成批处理

大功告成

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注