CwRsync是基于cygwin平台的rsync软件包,支持windows对windows、windows对Linux、Linux对windows高效文件同步。由于CwRsync已经集成了cygwin类库,因此安装的时候可以省去cygwin包。Cwrsync还集成了OpenSSH for windows,可以实现Linux 下Rsync一模一样的操作。详细配置步骤如下:
一、服务器端安装配置
1、下载服务器端安装文件,截止本文档更新日期,最新版本是cwRsync_Server_4.0.2_Installer
2、安装
这一步很重要,可以说是cwRsync安装成功与否的关键。这一步要求输入当前系统存在的账号密码,用来启动RsyncServer服务,这个账号需要在安装前就要建立好,因为安装程序不会自动创建。如果这个账号没有提前创建好或是密码太长的话,系统“服务”里将不会出现“RsyncServer”服务。建议密码长度在12个以内。
程序自动设置程序目录可修改的权限,因为需要写日志文件。
3、修改配置文件rsyncd.conf
use chroot = false
strict modes = false
log file = rsyncd.log
# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[rsync] path = /cygdrive/d/file
read only = false
transfer logging = yes
ignore errors
list = no
hosts allow = 192.168.101.63
hosts deny = *
auth users = SvcCWRSYNC
secrets file = /cygdrive/d/pass/rsync.passwd
配置文件在安装程序的根目录下,配置内容如下,参数解释:
use chroot = no # 不使用chroot
strict modes = false #使用静态模式
pid file = /var/run/rsyncd.pid
log file = /var/log/rsyncd.log # 日志记录文件
[rsync] # 这里是认证的模块名,在client端需要指定
path = /cygdrive/d/file # 需要做镜像的目录,如d:/file
transfer logging = yes # 记录传输日志
ignore errors # 可以忽略一些无关的IO错误
read only = yes # 只读
list = no # 不允许列文件
hosts allow=192.168.1.0/255.255.255.0
hosts deny = * # 禁止除192.168.1.0/255.255.255.0段外的连接IP
auth users = SvcCWRSYNC # 认证的用户名,如果没有这行,则表明是匿名
secrets file = /cygdrive/d/pass/rsync.passwd # 认证文件名
创建认证文件 d/pass/rsync.passwd 内容格式:用户:密码,如SvcCWRSYNC:347SJDg345876y8324,启动RsyncServer服务并保证开机自动重启,确保RsyncServer服务队认证文件的只读属性,服务器端配置完毕。
二、客户端安装配置
1、下载客户端安装包 ,止本文档更新日期,最新版本是cwRsync_4.0.2_Installer
2、安装
点击Install,安装完成。
3、cwRsync客户端不需要很复杂的配置,只需要通过命令行来同步服务器端的数据批处理脚本rsync.bat内容如下:
@echo off set RSYNC_HOME=d:\Program Files\cwRsync\bin cd %RSYNC_HOME% d: rsync -avzP --progress --delete --password-file=/cygdrive/d/pass/rsync.passwd SvcCWRSYNC@192.168.101.62::rsync /cygdrive/d/file
命令参数解释:
-
-a 参数,相当于-rlptgoD,-r 是递归 -l 是链接文件,意思是拷贝链接文件;-p 表示保持文件原有权限;-t 保持文件原有时间;-g 保持文件原有用户组;-o 保持文件原有属主;-D 相当于块设备文件;
-z 传输时压缩;
-P 传输进度;
-v verbose,详细模式输出
-u是只同步已经更新的文件,避免没有更新的文件被重复更新一次,不过要注意两者机器时钟的同步
--progress
显示备份过程
--delete
删除那些DST中SRC没有的文件
--password-file
指定密码文件,只需包含密码而不用包含用户名
SvcCWRSYNC@192.168.101.62::rsync
SvcCWRSYNC 登陆服务器端的用户名
192.168.101.62 服务器端的ip地址
rsync 服务器端指定的认证模块名,多个同步作业靠此模块名区分
/cygdrive/d/file
存放服务器端同步文件的本地目录
4、配置系统作业,运行脚本选择rsync.bat,客户端配置完毕。