日期:2014-05-17  浏览次数:20697 次

Windows下cwRsyncserver搭建步骤

CwRsync是基于cygwin平台的rsync软件包,支持windows对windows、windows对Linux、Linux对 windows高效文件同步。由于CwRsync已经集成了cygwin类库,因此安装的时候可以省去cygwin包。Cwrsync还集成了 OpenSSH for windows,可以实现Linux 下Rsync一模一样的操作。详细配置步骤如下:
一、服务器端安装配置

1、下载服务端安装文件
???服务端是安装在“需要被同步的数据所在的服务器”
? ?
2、安装服务端
?? 直到让你输入用户名和密码的对话框时,输入administrator 和你系统的密码
这一步很重要,可以说是cwRsync安装成功与否的关键。这一步会在当前系统下生成? SvcCWRSYNC 一个账户,用来启动RsyncServer服务。建议这个对此账户的密码进行重新设置,从新设置密码后,需要在服务中更改,否则? RsyncServer服务 不能启动

程序自动设置程序目录可修改的权限,因为需要写日志文件。
配置文件默认在程序的安装目录下,默认是 ?C:\Program Files\ICW
3、修改配置文件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


修改配置内容如下,参数解释:?


use chroot = false # 不使用chroot?
strict modes = false #使用静态模式
pid file = rsyncd.pid # 日志记录文件
log file = rsyncd.log # 日志记录文件?
[test] # 这里是认证的模块名,在client端需要指定?
path = /cygdrive/e/bak # 需要做镜像的目录,如e/bak(此目录需要给? SvcCWRSYNC 账户的读取权限)
transfer logging = yes # 记录传输日志
read only = yes # 只读
list = no # 不允许列文件
hosts allow = 192.168.0.113
hosts deny = * # 禁止除192.168.0.113段外的连接IP
uid = 0 #解决运行后的@ERROR: invalid uid 错误
gid = 0 #解决运行后的@ERROR: invalid gid 错误?
lock file = rsyncd.lock #解决文件被锁定无法复制问题
#auth users = SvcCWRSYNC # 认证的用户名,这里没有这行,则表明是匿名 #secrets file = /cygdrive/c/pass/rsync.passwd # 认证文件名

创建认证文件 c/pass/rsync.passwd 内容格式:用户:密码,如SvcCWRSYNC:fengye 启动RsyncServer服务并保证开机自动重启,服务器端配置完毕。?

二、客户端安装配置
1、下载客户端安装文件2、安装?
一直下一步,安装完成。
3、cwRsync客户端不需要很复杂的配置,需要设置环境变量path:c:\Program Files\cwRsync\bin
rsync -avzP --progress --delete --password-file=/cygdrive/c/pass/rsync.passwd SvcCWRSYNC@192.168.2.242::test /cygdrive/e/test
意思是将192.168.2.242的服务端下的test模块下的e:\bak目录同步到客户端的e:\test下
命令参数解释:

-avzP

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

-z 传输时压缩;

-P 传输进度;

-v verbose,详细模式输出

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

--progress

显示备份过程

--delete

删除那些DST中SRC没有的文件

--password-file

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

SvcCWRSYNC@192.168.2.242::test

SvcCWRSYNC 登陆服务器端的用户名  

192.168.2.242 服务器端的ip地址

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

/cygdrive/e/test

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