前段时间写了一篇linux下利用rsync批量更新的文章,网游公司windows服务器还是很多的,今天就来讲讲windows下批量更新的方法,windows下同步数据利用cwRsync来完成的
一、系统环境
windows 2003 R2 sp2
更新源服务器:10.8.5.240
目的服务器:10.8.5.2 10.8.5.3 … …
服务端:cwRsyncServer_4.1.0_Installer
客户端:cwRsync_4.1.0_Installer
二、更新源服务器安装配置(rsync服务端)
1、双击cwRsyncServer_4.1.0_Installer.exe然后就一路下一步,安装cwRsync服务端默认有一个管理员账户SvcCWRSYNC,可自行修改
安装完成后,在“服务”里面就可以看到cwRsync对应的服务了,安装完成后需要手动启动该服务
2、修改rsyncd.conf配置文件(C:Program FilesICWrsyncd.conf)
use chroot = false #不使用chroot
strict modes = false #静态模式
hosts allow = * #所有IP均可
log file = rsyncd.log #log文件名,可以指定路径
pid file = rsyncd.pid
port = 8173 #默认端口873
uid = 0 #不指定uid,不加这一行将无法使用任何账户
gid = 0 #不指定gid
max connections = 10 #最大连接数10
# Module definitions
# Remember cygwin naming conventions : c:work becomes /cygwin/c/work
[web_1]
path = /cygdrive/d/www/web_1 #需要备份的路径(D盘www/web_1目录)
read only = false #只读
transfer logging = yes #记录传输日志
ignore errors #忽略无关的IO错误
list = no #不列文件表
hosts allow = 10.8.5.0/255.255.255.0 #允许访问的IP
hosts deny = * #不允许hosts allow以外的任何IP访问
[web_2]
path = /cygdrive/d/www/web_2 #需要备份的路径(D盘www/web_2目录)
read only = false #只读
transfer logging = yes #记录传输日志
ignore errors #忽略无关的IO错误
list = no #不列文件表
hosts allow = 10.8.5.0/255.255.255.0 #允许访问的IP
hosts deny = * #不允许hosts allow以外的任何IP访问
3、配置文件修改完成后,就手动启动RsyncServer服务,netstat -an,看8173端口监听没
三、目的服务器安装配置(rsync客户端)
1、双击cwRsync_4.1.0_Installer.exe,然后一路下一步
2、编写批处理文件定时同步更新
10.8.5.2 (rsync.bat)
@echo off
C:”Program Files”cwRsyncbinrsync.exe -avzP --progress --delete rsync://10.8.5.240:8173/web_1 /cygdrive/d/www/web_1 >> d:rsync_%date:~0,10%.log
10.8.5.3 (rsync.bat)
@echo off
C:”Program Files”cwRsyncbinrsync.exe -avzP --progress --delete rsync://10.8.5.240:8173/web_2 /cygdrive/d/www/web_2 >> d:rsync_%date:~0,10%.log
或者把C:”Program Files”cwRsyncbin 加到用户的环境变量中,这样rsync.exe前面就不用加绝对路径了
3、参数说明
-a 参数,相当于-rlptgoD,
-r 是递归
-l 是链接文件,意思是拷贝链接文件;
-p 表示保持文件原有权限;
-t 保持文件原有时间;
-g 保持文件原有用户组;
-o 保持文件原有属主;
-D 相当于块设备文件;
-z 传输时压缩;
-P 传输进度;
-v verbose,详细模式输出;
-u是只同步已经更新的文件,避免没有更新的文件被重复更新一次,不过要注意两者机器时钟的同步;
--progress 显示备份过程;
--delete 删除那些DST中SRC没有的文件,用作同步文件用;
4、设置计划任务
每5分钟同步一次
5、手动测试同步信息
C:”Program Files”cwRsyncbinrsync.exe -avzP --progress --delete rsync://10.8.5.240:8173/web_1 /cygdrive/d/www/web_1