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 Files\ICW\):

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 Files\ICW\doc\rsyncd.conf.html
2.3 启动服务
在Server机器上运行services.msc,选择服务"RsyncServer"配置启动类型为"自动",后启动该服务。

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

@echo off
set RSYNC_HOME=C:\Program Files\cwRsync\bin
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:\test

运行bat,Client会进行文件远程同步,截图如下:

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

4.计划任务配置
1. 在client机器上选择:控制面板->任务计划->添加任务计划
2. 点击下一步->浏览,打开上述的test.bat文件

3. 选择每天执行一次

4. 配置起始时间

5. 点击下一步,输入服务器用户名及密码,完成任务添加

6. 选择刚才添加的任务,配置属性:日常安排->高级,选择重复任务,配置每20分钟执行一次,持续24小时

这时,计划任务就会每天24小时,每20分钟运行一次的方式来自动进行client与Server间的数据同步了。

Windows远程数据同步工具cwRsync的更多相关文章

  1. Linux系统备份还原工具4(rsync/远程数据同步工具)

    rsync即是能备份系统也是数据同步的工具. 在Jenkins上可以使用rsync结合SSH的免密登录做数据同步和分发.这样一来可以达到部署全命令化,不需要依赖任何插件去实现. 命令参考:http:/ ...

  2. rsync远程数据同步工具的使用

    准备工作 虚拟机1: 192.168.24.41, 用于搭建rsync服务器 虚拟机2: 192.168.26.68, 用于搭建rsync客户端 虚拟机1和虚拟机2均为centos7; 1. 检查虚拟 ...

  3. rsync 远程数据同步工具详解

    rysnc 命令用法:(OPTION-参数,USER-用户,HOST-IP地址,SRC-复制源位置,DEST-复制目标位置)Shell拉:rsync [OPTION] [USER@]HOST:SRC ...

  4. rsync---远程数据同步工具

    rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而 ...

  5. Linux实战教学笔记21:Rsync数据同步工具

    第二十一节 Rsync数据同步工具 标签(空格分隔): Linux实战教学笔记-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转载,转载 ...

  6. Rsync数据同步工具

                                        Rsync数据同步工具 什么是Rsync? Rsync是一款开源的.快速的.多功能的,可以实现全量及增量的本地或原程数据同步备份 ...

  7. rsync数据同步工具的配置

    rsync数据同步工具的配置 1. rsync介绍 1.1.什么是rsync rsync是一款开源的快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具.Rsync软件适用于 unix ...

  8. 【集群实战】Rsync数据同步工具

    1. Rsync介绍 1.1 什么是Rsync? Rsync是一款开源的,快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具.Rsync软件适用于unix/linux/windows ...

  9. 【基础】:Rsync数据同步工具

    第二十一节 Rsync数据同步工具 1.1 Rsync介绍 1.1.1 什么是Rsync? 1.1.2 Rsync简介 1.3 Rsync的特性 1.1.4 Rsync的企业工作场景说明 1.2 Rs ...

随机推荐

  1. 解决: DeprecationWarning: Passing 1d arrays as data is deprecated in 0.17 and will raise ValueError in 0.19

    错误信息:C:\Python27\lib\site-packages\sklearn\utils\validation.py:395: DeprecationWarning: Passing 1d a ...

  2. KVM 网络虚拟化基础 - 每天5分钟玩转 OpenStack(9)

    网络虚拟化是虚拟化技术中最复杂的部分,学习难度最大. 但因为网络是虚拟化中非常重要的资源,所以再硬的骨头也必须要把它啃下来. 为了让大家对虚拟化网络的复杂程度有一个直观的认识,请看下图 这是 Open ...

  3. Resize Instance 操作详解 - 每天5分钟玩转 OpenStack(41)

    Resize 的作用是调整 instance 的 vCPU.内存和磁盘资源. Instance 需要多少资源是定义在 flavor 中的,resize 操作是通过为 instance 选择新的 fla ...

  4. 部署私有Docker Registry和使用

    环境 vmware虚拟机 Ip:192.168.190.139 Ip:192.168.190.140 Ip:192.168.0.122 registry Docker 1.12.2 Docker 版本 ...

  5. shell脚本中生成延时

    #!/bin/bash echo -n count: tput sc count=; while true; do ]; then let count++; ; tput rc tput ed ech ...

  6. 《InsideUE4》-9-GamePlay架构(八)Player

    你们对力量一无所知 引言 回顾上文,我们谈完了World和Level级别的逻辑操纵控制,如同分离组合的AController一样,UE在World的层次上也采用了一个分离的AGameMode来抽离了游 ...

  7. 6.bootstrap练习笔记-缩略图和list-group

    bootstrap练习笔记-缩略图 1.其实缩略图很简单,只要按照固定的格式来设计 div.container 总容器  在宽度为1200px以上 div.row 一行内容 div.col-lg-3. ...

  8. 深入理解Java之泛型

    原文出处: absfree 1. Why ——引入泛型机制的原因 假如我们想要实现一个String数组,并且要求它可以动态改变大小,这时我们都会想到用ArrayList来聚合String对象.然而,过 ...

  9. Eclipse添加JPDL4 Schema校验

    由于jbpm官方提供的图形化流程设计器(GPD)功能并不是特别的全面,很多设计并不能全在图形界面下完成.因此,在很多情况下,我们需要直接编辑JPDL的XML源代码,所以, 最好为JPDL XML指定S ...

  10. JS组件系列——Bootstrap寒冬暖身篇:弹出框和提示框效果以及代码展示

    前言:对于Web开发人员,弹出框和提示框的使用肯定不会陌生,比如常见的表格新增和编辑功能,一般常见的主要有两种处理方式:行内编辑和弹出框编辑.在增加用户体验方面,弹出框和提示框起着重要的作用,如果你的 ...