实现:Windows不同服务器之间文件或数据同步(客户端自动向服务端同步) 来自 Vincent 博客

记得以前写过 Windows2008 下数据同步cwRsync安装配置

今天来更新下,其实大部分还是一样的!高手绕道,请勿喷,主要就是配置文件修改下了,比较简单点,主要还是给自己留个步骤,顺便分享出来!

准备工作:

//环境:
Windows 2008 Server R2(服务端,IP:192.168.1.231)
Windows 2008 Server R2(客户端,IP:192.168.1.235)
cwRsyncServer_4.1.0_Installer
cwRsync_4.1.0_Installer

cwRsync_4.1.0下载地址如下百度网盘,如地址失效请联系作者邮箱[email protected][记得说明理由哦!]

http://pan.baidu.com/s/1pJLSk7x

服务端安装配置:

1.安装,cwRsyncServer_4.1.0_Installer,记下默认用户名和密码(如图),过程略……

ps : 本人没记过一样运行。

服务器2008 Server R2 上cwRsync安装和配置教程_第1张图片

//编辑安装目录下,rsyncd.conf

打开配置文件粘贴一下代码

use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
uid = 0
gid = 0
[data]
path =/cygdrive/d/www/
read only = false
transfer logging = yes
list = yes

代码说明,请注意尾部!

//启动服务并设置自启动
//“win+r”组合键打开运行对话窗口,输入
services.msc
//找到“RsyncServer”服务,选择“自启动”并启动服务,如图

服务器2008 Server R2 上cwRsync安装和配置教程_第2张图片

/修改文件权限
//赋予要同步的文件读取权限给rsync用户,默认用户名“SvcCWRSYNC”,“所在文件夹”–右键属性–“安全”–“编辑”–“添加”用户名–“确定”

//设置Windows防火墙
//添加防火墙规则或关闭防火墙
//添加防火墙规则
【防火墙】–【高级设置】–【入站规则】–【新建规则】–【程序】–【下一步】–【此程序路径】–“选择rsync程序所在路径,默认安装路径:%ProgramFiles% (x86)\ICW\bin\rsync.exe”–【下一步】–【允许连接】–【下一步】–【下一步】–“名称随便填写,最好便于记忆和理解”–【完成】
【防火墙】–【高级设置】–【出站规则】–【新建规则】–【程序】–【下一步】–【此程序路径】–“选择rsync程序所在路径,默认安装路径:%ProgramFiles% (x86)\ICW\bin\rsync.exe”–【下一步】–【允许连接】–【下一步】–【下一步】–“名称随便填写,最好便于记忆和理解”–【完成】

//重启Windows Firewall服务,直接选择重启,不要先停用后重启,否则后果自负^_^

 

//创建密码文件
//新建密码文件,名字随意起(这里我的是“test.password.txt”),内容格式“密码”,对应服务端模块密码配置文件里的密码
test

//修改系统环境变量
【开始】–【计算机】–【属性】–【更改设置】–【高级】–【环境变量】–【系统变量】–“修改‘Path’的值,变量值添加cwRsync的安装路径,默认路径‘C:\Program Files (x86)\cwRsync\bin;’”

//同步脚本

rsync -vzrtopg –progress –delete 192.168.1.231::data /cygdrive/d/data

//bat脚本

@echo off
echo.
echo 开始同步数据,请稍等…
echo.
cd C:\Program Files (x86)\cwRsync\bin
rsync -vzrtopg –progress –delete 192.168.1.231::data /cygdrive/d/data
echo.
echo 数据同步完成
echo.

//脚本参数
-a                                           #相当于-rlptgoD
-r                                           #递归
-l                                           #拷贝链接文件
-p                                           #保持文件原有权限
-t                                           #保持文件原有时间
-g                                           #保持文件原有用户组
-o                                           #保持文件原有属主
-D                                           #相当于块设备文件
-z                                           #传输时压缩
-P                                           #传输进度
-v                                           #verbose,详细模式输出
-u                                           #是只同步已经更新的文件,避免没有更新的文件被重复更新一次,不过要注意两者机器时钟的同步
–progress                                   #显示备份过程
–delete                                     #完全匹配服务端,删除客户端里有而服务端里没有的文件
SvcCWRSYNC                                   #连接用户名
@192.168.5.223                               #服务端IP
::test                                       #服务器端的配置模块
/cygdrive/                                   #要同步到客户端服务器的目录
–password-file                              #指定密码文件,只需包含密码而不用包含用户名;*经测试Windows下无用

 

//rsyncd.conf 配置说明
uid = 0                                      #不指定uid将无法使用任何账户
gid = 0                                      #同上……
use chroot = false                           #不使用chroot
strict modes = false                         #静态模式
hosts allow =192.168.1.0/24                  #允许访问的IP,网段,多个用“,”隔开
log file = rsyncd.log                        #日志记录,默认安装目录下
pid file = rsyncd.pid                        #进程号目录    
max connections = 10                         #最大连接数
lock file = rsyncd.lock
# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[test]                                       #服务端模块,多个模块自建
path = /cygdrive/e/test                      #服务端目录,“e/test”路径
read only = yes                              #只读模式
transfer logging = no                        #透明传输
transfer logging = yes                       #传输日志
ignore errors = yes                          #忽略IO错误
list = no                                    #文件列表
hosts deny = *                               #不允许hosts allow以外的任何IP访问
auth users = SvcCWRSYNC                      #认证用户名
secrets file = test.password                 #认证用户的用户名和密码存储位置