1、http://rsync.samba.org/ 下载cwRsync客户端(cwRsync)和服务器端(cwRsyncServer)。
2、服务器端安装:采用默认选项安装。
安装后,服务默认为手动启动模式,到“管理工具/服务管理”里,启动“RsyncServer”服务,并修改“RsyncServer”为自动启动模式。
3、服务器端配置:编辑rsyncd.conf文件,写入如下信息
use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
pid file = rsyncd.pid
# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[test]
path = /cygdrive/d/doc
read only = no
其中test是设置要同步的数据,path是磁盘路径,/cygdrive/d/doc对应到 d:\doc文件夹,由于cwRsync软件在windows下不能够直接挂盘符,采用 /cygdrive/这种模式。
4、客户端安装:安装过程中,取消到service安装包,并安装到 “C:\Program Files\cwRsync” 文件夹下
5、客户端配置:编辑“cwrsync.cmd” 文件,在最后一行加入
rsync -avr –ignore-errors –force –delete 192.168.0.1::test /cygdrive/c/vm
–delete: 如果服务端删除了文件,客户端也相应把文件删除
说明:将服务器(192.168.0.1)上test模块下的文件夹 同步到 本地 c:\vm 文件夹下。同样采用 /cygdrive/模式。
6、文件同步:运行客户端的cwrsync.cmd 文件,就可以将服务器端的数据同步到客户端。
相关说明:
一:服务端rsyncd.conf文件配置
uid = nobody
gid = nobody
use chroot = no # 不使用chroot
max connections = 4 # 最大连接数为4
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log # 日志记录文件
[inburst] # 这里是认证的模块名,在client端需要指定
path = /home/inburst/python/ # 需要做镜像的目录
comment = BACKUP CLIENT IS SOLARIS 8 E250
ignore errors # 可以忽略一些无关的IO错误
read only = yes # 只读
list = no # 不允许列文件
hosts allow=172.25.43.57 #允许连接IP
auth users = inburst # 认证的用户名,如果没有这行,则表明是匿名
secrets file = /etc/inburst.pas # 认证文件名
注:
为安全考虑,在设置服务端rsyncd.conf模块时,最好加上auth users = inburst,secrets file = /etc/inburst.pas,密码写到一个文件中inburst.pas。
执行命令时:rsync -avrp /test/ [email protected]::test –password-file=inburst.pas。
二:客户端脚本
rsync -avrp /test/ [email protected]::test –password-file=1234567
(表示将客户端test目录下文件备份到服务器test模块下。如果将/test/放后面,表示将服务器test模块下目录备份带客户端/test/下。)
选项说明:
-v, –verbose 详细模式输出
-q, –quiet 精简输出模式
-c, –checksum 打开校验开关,强制对文件传输进行校验
-a, –archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
-r, –recursive 对子目录以递归模式处理
-R, –relative 使用相对路径信息
其他参数可以查看rsync相关手册。
常出现的错误:
错误1: rsync: read error: Connection reset by peer (104)
rsync error: error in rsync protocol data stream (code 12) at io.c(794) [receive
r=3.0.2]
解决:很大可能是服务器端没有开启 rsync 服务。开启服务。
错误2:@ERROR: chdir failed
rsync error: error starting client-server protocol (code 5) at main.c(1495) [rec
eiver=3.0.2]
解决:服务器端同步目录没有权限,cwrsync默认用户是Svcwrsync。为同步目录添加用户Svcwrsync权限。
错误3:@ERROR: failed to open lock file
rsync error: error starting client-server protocol (code 5) at main.c(1495) [rec
eiver=3.0.2]
解决:配置文件 rsync.conf中添加 lock file = rsyncd.lock 即可解决。
password file must not be other-accessible
解决:设置密码文件不允许被任何用户访问, 执行chmod 600 rsyncd.pw,若此方不行,再将rsyncd.pw的上级目录(在ntfs分区中)权限改成只有当前用户可以读取和运行,