ET5.0如何使用Rsync同步工具,将Windows下的文件同步到远程服务器Centos

狂风中的少年 提交于 2020-02-27 11:39:44

ET5.0下载:https://github.com/egametang/ET  ,选择Branch_V5.0的分支

准备

1. Windows平台在ET5.0根目录下Tools\cwRsync文件加下有个rsync.exe文件,这是RSync的客户端

2.1 在Centos平台下安装Rsync:

sudo yum -y install rsync

2.2 启动Rsync服务,默认端口873

sudo systemctl start rsyncd 

2.3 查看是否启动,并查看占用的端口是否包含873,如果有说明启动成功

netstat -tlunp

2.4 为了外界能连接到此服务器端口,需要将873端口暴露

firewall-cmd --zone=public --add-port=873/tcp --permanent #将端口暴露

firewall-cmd --reload #重载防火墙

firewall-cmd --zone=public --list-ports #查看防火墙暴露的端口,如果有873说明能从外界连接该服务器的Rsync服务

2.5 先关闭Rsync,配置一些模块:

sudo systemctl stop rsyncd #关闭服务

2.6 打开RSync的配置文件,并将文件按如下格式修改,然后保存

sudo vim /etc/rsyncd.conf #打开配置文件

修改如下,全部复制然后替换源配置文件即可:

fake super = yes #屏蔽一些无影响运行的bug日志输出
log file = /var/log/rsyncd.log
[Upload]  #模块名字 很重要 到时候会用
path = /home/FY/ET/Sync #服务器存放的路径,别放在Root权限下的目录,不然很多权限问题,处理起来麻烦
comment = Upload #保存与上面模块名字一致即可
uid = root
gid = root
use chroot = no
port = 873
read only = no
write only = no
auth users = FY #认证用户 ET需要
secrets file = /home/FY/ET/rsync.pwd #FY账号密码存放路径
hosts allow = * #允许所有IP链接
#hosts deny = 192.168.1.102 #屏蔽这些IP链接 
list = yes

2.7 之后创建配置中声明过的文件和文件夹,本例是/home/FY/ET/Sync文件夹和 /home/FY/ET/rsync.pwd文件

其中rsync.pwd文件需要修改权限

echo 'FY:123456'>/home/FY/ET/rsync.pwd #FY为账号后面的是密码,以冒号分割,这个不是Centos7的登陆账号和密码,这是完全自己决定的,客户端需要用到

chmod 600 /home/FY/ET/rsync.pwd #修改权限




 

账号密码对应Unity中菜单栏Tools->Rsync同步工具框中

2.8 关闭SElinux,使得外界能与服务器IO操作,然后再启动Rsync服务器

setenforce 0 #临时关闭SElinux

sudo systemctl start rsyncd #再次启动Rsync服务器

3.1 回到Window平台,Unity中配置好服务器IP和账号密码,然后点击保存,再点击同步

可能会报错:

3.2 这个问题暂时不解决(下一章解决,参考Unity中RSync同步Win32Exception异常处理),所以只需要保存即可(在Tools\cwRsync\Config目录下会生成rsync.secrets和rsyncd.secrets文件),我们直接使用步骤1的rsync.exe文件操作。先到ET的根目录下启动命令行工具cmd。然后将此命令拷贝:

D:\Casual\ETFrameWork\Tools\cwRsync\rsync.exe -vzrtopg --password-file=./Tools/cwRsync/Config/rsync.secrets --exclude-from=./Tools/cwRsync/Config/exclude.txt --delete ./ FY@192.168.1.160::Upload/ --chmod=ugo=rwX

解释以下上面的命令:

D:\Casual\ETFrameWork\Tools\cwRsync\rsync.exe  :rsync.exe所在的目录(需要改为自己的)

--password-file=./Tools/cwRsync/Config/rsync.secrets :Unity下Tools->Rsync同步工具框点击保存后生成的账号密码文件路径

--exclude-from=./Tools/cwRsync/Config/exclude.txt : 无需同步到服务器的文件(Tools->Rsync同步工具框可以自己添加排除文件或者文件夹)

--delete ./ FY@192.168.1.160::Upload/  :删除服务器多余文件,将当前目录下(所以需要在ET根目录下执行)的文件同步到服务器的Upload模块所对应的路径,且使用FY作为认证用户去同步操作。

3.3 最后点击回车即可完成同步操作.

 

Tips: 1.如果觉得每次同步都要打开Unity的工具设置同步配置,可以直接在\Tools\cwRsync\Config文件夹下的exclude.txt、rsyncConfig.txt、rsyncd.secrets、rsync.secrets下自己修改。

2.如果想自己输入密码可以删除指令:D:\Casual\ETFrameWork\Tools\cwRsync\rsync.exe -vzrtopg  --exclude-from=./Tools/cwRsync/Config/exclude.txt --delete ./ FY@192.168.1.160::Upload/ --chmod=ugo=rwX

不过要注意用户名对应服务器设置的账号密码,模块也对应即可。

3.如果想要修改存放路径,可以添加新模块,或者模块后加上新路径,例如@192.168.1.160::Upload/NewFile/

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!