网络通讯

关注公众号 jb51net

关闭
软件教程 > 网络通讯 >

Windows下利用cwRsync批量同步文件(4.1.0版本)

脚本之家

  前段时间写了一篇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 Files\ICW\rsyncd.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”\cwRsync\bin\rsync.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”\cwRsync\bin\rsync.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”\cwRsync\bin\ 加到用户的环境变量中,这样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”\cwRsync\bin\rsync.exe -avzP --progress --delete rsync://10.8.5.240:8173/web_1 /cygdrive/d/www/web_1