CwRsync是基于cygwin平台的rsync软件包,支持windows对windows、windows对Linux、Linux对 windows高效文件同步。由于CwRsync已经集成了cygwin类库,因此安装的时候可以省去cygwin包。Cwrsync还集成了 OpenSSH for windows,可以实现Linux 下Rsync一模一样的操作。详细配置步骤如下:
一、服务器端安装配置
1、下载服务器端安装文件http://sourceforge.net/projects/sereds/files/ 截止本文档更新日期,最新版本是cwRsync_Server_4.0.2_Installer
2、安装 cwRsync_Server_4.0.2_Installer 客户端,一般情况下直接下一步安装就可以了,但是在安装之前需要先创建一个SvcCWRSYNC 用户,否则在安装好后无法启动服务。

3、安装好后,配置rsyncd.conf文件。

 

  1. use chroot = false 
  2. strict modes = false 
  3. log file = rsyncd.log 
  4. # Module definitions 
  5. # Remember cygwin naming conventions : c:\work becomes /cygwin/c/work 
  6. [rsync] path = /cygdrive/d/file 
  7. read only = false 
  8. transfer logging = yes 
  9. ignore errors 
  10. list = no 
  11. hosts allow = 192.168.1.254 
  12. hosts deny = * 
  13. auth users = SvcCWRSYNC 
  14. 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 # 认证文件名

 

4、创建认证文件 d/pass/rsync.passwd 内容格式:用户:密码,如SvcCWRSYNC:347SJDg345876y8324,启动RsyncServer服务并保证开机自动重启,启动服务,到这里服务端就已经安装完毕了

备注:这里还要手动建立/cygdrive/d/file 文件夹,另外还要赋予SvcCWRSYNC用户对该文件夹的读写权限。

 

5、客户端安装就是一直下一步,直到安装结束。

 

6、使用rsync -avzP --progress --delete --password-file=/cygdrive/d/pass/rsync.passwd SvcCWRSYNC@192.168.101.62::rsync /cygdrive/d/file执行同步命令

命令参数解释:

-avzP   

-a 参数,相当于-rlptgoD-r 是递归 -l 是链接文件,意思是拷贝链接文件;-p 表示保持文件原有权限;-t 保持文件原有时间;-g 保持文件原有用户组;-o 保持文件原有属主;-D 相当于块设备文件;   

-z 传输时压缩;   

-P 传输进度;   

-v verbose,详细模式输出   

-u是只同步已经更新的文件,避免没有更新的文件被重复更新一次,不过要注意两者机器时钟的同步   

--progress   

显示备份过程   

--delete   

删除那些DSTSRC没有的文件   

--password-file   

指定密码文件,只需包含密码而不用包含用户名   

SvcCWRSYNC@192.168.101.62::rsync   

SvcCWRSYNC 登陆服务器端的用户名   

192.168.101.62 服务器端的ip地址   

rsync 服务器端指定的认证模块名,多个同步作业靠此模块名区分   

/cygdrive/d/file   

存放服务器端同步文件的本地目录