软件版本
服务端:cwRsyncServer_4.1.0_Installer.exe
客户端:cwRsync_4.1.0_Installer.exe
应用场景
服务端:windows server 2016 IP : 192.168.67.1
客户端:windows10 IP : 192.168.67.2
每次打开我的windows10时,自动同步server端的指定目录到本机,并且要在联网的情况下才同步文件。
服务端安装
运行 cwRsyncServer_4.0.5_Installer.exe ,一步步默认安装完毕后,
安装目录在 C:\Program Files (x86)\ICW
配置文件 rsyncd.conf 默认内容如下
use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[test]
path = /cygdrive/c/work
read only = false
transfer logging = yes
其中
hosts allow -- 设定允许访问本服务端的客户端的IP, *代表任何客户端都可以访问。
[test] -- 是一个初始的模块
path -- 模块对应的文件路径,这里work后面有没有正向斜线"/"都一样。后面客户端的中的斜线比较重要。
read only -- 设置目录是否只读
transfer logging -- 是否记录日志
现在,我打算修改原来的配置
uid = 0
gid = 0
use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
[Repositories]
path = /cygdrive/d/backup/Repositories
secrets file = /cygdrive/c/Program Files (x86)/ICW/rsyncd.secrets
list = true
auth users = user01
read only = false
上面我增加了
uid = 0 和 gid = 0 -- 如果不增加,从linux下同步文件过来会有损坏。
secrets file -- 该文件保存客户端使用的用户和密码
/cygdrive/c/ICW/rsyncd.secrets 是unix风格的文件路径,对应windows下的文件路径为 C:\Program Files (x86)\ICW\rsyncd.secrets,并且 rsyncd.secrets默认没有的,需要手动建立,文件内容的格式如:“username:password”
Windows Server 对权限管理更严格,服务端存放文件的目录需要做一定修改,将安装cwRsyncServer_4.0.5_Installer.exe时创建的服务器运行用户 SvcCWRSYNC 添加到该文件夹的用户列表里,并赋予全部权限。
在服务管理器中,名称为 RsyncServer ,将其启动类型设置为 自动。
最后启动服务。
服务端的默认监听端口为 873,若是想修改端口,只需要在服务端配置文件里的模块下指定--port=PORT即可。
所以还需要在防火墙里开启873端口。
客户端安装
运行 cwRsync_4.1.0_Installer.exe ,一步步默认安装完毕后,
安装目录在 C:\Program Files (x86)\cwRsync
客户端的同步脚本cwrsync.cmd默认内容如下
@ECHO OFF
REM ****************************************