windows做为文件服务器,使用rsync的windows服务版本:cwRsyncServer 下载地址:http://rsync.samba.org
安装过程要设置用于系统服务的帐号和密码,可以默认。
注:此帐号用于启用crsync server服务,需要分配给帐号对要同步文件的相应权限,否则无法操作被同步的文件。
安装完成后修改配置文件 rsyncd.conf, 配置文件内容如下:
port = 52326
use chroot = false
strict modes = false
#hosts allow = * #允许所有的访问
hosts allow = 192.168.10.2 #指定特定的IP允许访问
log file = rsyncd.log
lock file = rsyncd.lock
max connections = 10
UID = 0
GID = 0
# Module definitions
# Remember cygwin naming conventions : c:work becomes /cygwin/c/work
#
[test]
path = /cygdrive/c/work
read only = false
transfer logging = no
[test2]
path = /cygdrive/d/wwwroot/yanghengfei_com
read only = yes
transfer logging = no
auth users = coldstar #同步使用的帐号
secrets file = rsyncd.secrets #密码文件
注:
rsyncd.secrets配置文件的格式为 用户名:密码,如:
coldstar:123456
即添加了一个用户 coldstar,密码为 123456。
现在来看个实例
两台服务器都是windows2003 Enterprise Edition R2,都放在美国,一台在美国AK机房,另一台在佛罗里达州,两台网络的相互ping值大概在60-70毫秒
同步140G的文件,虚拟主机的目录,文件不是一般的多… 让rsync停在receiving file list … 停了好久 起码20分钟 -_-!
第一次不会快到什么程度,但是以后的增量或差异效果就很明显了!
Rsync for windows : Server端
Rsync for windows : Client端
下载Server端安装
开始 -> 所有程序 -> cwRsync Server -> 05. Start a Unix BASH Shell
输入: /bin/activate-user.sh
按l 选择本地用户 (本地用户名过多会报错?我这边200个左右的用户,但是提示“命令运行完毕,但发生一个或多个错误”)
Enter a user account for activation: 输入本地一个账户名
创建key后面也可以加的
exit退出
用ssh协议传输文件,需要启动opensshd服务,在services.msc里启动
编辑rsyncd.conf
开始 -> 所有程序 -> cwRsync Server -> 01. rsyncd.conf
use chroot = false
strict modes = false #严格模式是不是效验文件? (未测试)
hosts allow = * #允许哪个IP
log file = rsyncd.log
pid file = rsyncd.pid
[test]
path = /cygdrive/f/backup #路径
read only = false #是否只读,不是为yes
transfer logging = yes #是否记录日志? (没去看)
开始 -> 运行 -> services.msc -> 启动rsync server的服务
客户端:
C:Program FilescwRsyncbin>rsync.exe -zvrtopg 管理员帐号@IP地址:/cygdr
ive/f盘/backup /cygdrive/f盘/backup
同步远端服务器的f盘的backup文件夹到本地的f盘的backup文件夹里