• Windows远程数据同步工具cwRsync


    1. cwRsync简介
    cwRsync是Rsync在Windows上的实现版本,Rsync通过使用特定算法的文件传输技术,可以在网络上传输只修改了的文件。
    cwRsync主要用于Windows上的远程文件同步备份和同步,它包含Cygwin DLL和适用Cygwin版本的Rsync两部分。
    cwRsync分为Server和Client,本文使用的版本为4.1.0,下载地址如下:
    cwRsyncServer v4.1.0:http://pan.baidu.com/s/1eQpaIVw
    cwRsync v4.1.0:http://pan.baidu.com/s/1pJ3B1FX
    下面举例介绍Server及Client端的配置使用,本文使用环境如下:
    Server: 192.168.85.236
    Client: 192.168.85.249

    2. Server安装使用
    2.1 安装
    一路点击Next,使用默认配置安装即可。
    2.2 配置
    修改配置文件rsyncd.conf如下(默认位置:C:Program FilesICW):

    use chroot = false
    strict modes = false
    hosts allow = *
    log file = rsyncd.log
    pid file = rsyncd.pid
    port = 873
    uid = 0
    gid = 0
    
    # Module definitions
    # Remember cygwin naming conventions : c:work becomes /cygwin/c/work
    #
    [test]
    path = /cygdrive/d/test
    read only = false
    transfer logging = yes

    部分重要参数解释如下:

    use chroot = false
    strict modes = false
    hosts allow = * #允许所有IP访问
    log file = rsyncd.log #日志文件
    pid file = rsyncd.pid #进程文件
    port = 873 #服务端口号
    uid = 0 #不限定用户
    gid = 0 #不限定组
    
    # Module definitions
    # Remember cygwin naming conventions : c:work becomes /cygwin/c/work
    #
    [test] #认证的模块名,在client端需要指定使用
    path = /cygdrive/d/test #需要做镜像同步的目录,如d:/test
    read only = false
    transfer logging = yes

    注:
    1. uid=0和gid=0需要指定,否则后面client进行同步时会报错:
    @ERROR: invalid uid nobody
    rsync error: error starting client-server protocol (code 5) at main.c(1516) [Receiver=3.0.8]
    2. 上述只是简单的配置示例,还有很多其他的选项,可以参考帮助文件:C:Program FilesICWdoc syncd.conf.html
    2.3 启动服务
    在Server机器上运行services.msc,选择服务"RsyncServer"配置启动类型为"自动",后启动该服务。
    081414_0913_Windows1.png

    3. Client安装使用
    3.1 安装
    与Server相同,一路点击Next,使用默认配置安装即可。
    3.2 使用
    新建一个test.bat文件,内容如下:

    @echo off
    set RSYNC_HOME=C:Program FilescwRsyncin
    cd %RSYNC_HOME%
    C:
    rsync -avzP --progress --delete rsync://192.168.85.236:873/test /cygdrive/d/test

    命令参数详解:

    -avzP  
    -a 参数,相当于-rlptgoD:
    -r 是递归
    -l 是链接文件,意思是拷贝链接文件
    -p 表示保持文件原有权限
    -t 保持文件原有时间
    -g 保持文件原有用户组
    -o 保持文件原有属主
    -D 相当于块设备文件
    
    -v 详细模式输出
    -z 传输时压缩
    -P 显示传输进度
    
    --progress 显示备份同步过程
    --delete 删除Client中有Server没有的文件,即如果Server删除了这一文件,那么client也相应把文件删除,保持真正的一致
    
    rsync://192.168.85.236:873/test 配置Sever的IP地址及需要同步的模块名(Server rsyncd.conf中配置)
    /cygdrive/d/test 存放同步文件的Client本地目录D:	est

    运行bat,Client会进行文件远程同步,截图如下:
    081414_0913_Windows2.png
    3.3 测试
    在上述环境上,进行了大批量文件的同步测试,结果如下:
    1.每次进行同步时,client均会获取更新文件列表,文件数目比较大时(2.7w 27.5G)耗时较长(5min47s)
    2.在此基础上进行增量更新耗时较短,更新100个文件(减去获取列表时间)只需耗时16s

    4.计划任务配置
    1. 在client机器上选择:控制面板->任务计划->添加任务计划
    2. 点击下一步->浏览,打开上述的test.bat文件
    081414_0913_Windows3.png
    3. 选择每天执行一次
    081414_0913_Windows4.png
    4. 配置起始时间
    081414_0913_Windows5.png
    5. 点击下一步,输入服务器用户名及密码,完成任务添加
    081414_0913_Windows6.png
    6. 选择刚才添加的任务,配置属性:日常安排->高级,选择重复任务,配置每20分钟执行一次,持续24小时
    081414_0913_Windows7.png
    这时,计划任务就会每天24小时,每20分钟运行一次的方式来自动进行client与Server间的数据同步了。

  • 相关阅读:
    ArcGIS Server GP服务发布与测试(基础版)
    【转】arcgis server site 快速恢复与重建
    ArGIS Server 服务的更新
    ArcMap中,如何查看当前工具是否在执行?如何将工具调到前台来执行?
    【转】ArcGIS 创建切片缓存方法工具总结
    ArcGIS Server 增加缓存路径
    修改ArcGIS Server Account / 站点管理员的 账号、密码
    ArcGIS Server 创建站点失败
    ArcGIS Server,4000端口被占用
    JS 中如何判断字符串类型的数字
  • 原文地址:https://www.cnblogs.com/l1pe1/p/4901031.html
Copyright © 2020-2023  润新知