码迷,mamicode.com
首页 > 其他好文 > 详细

远程数据同步工具cwRsync

时间:2018-07-15 21:17:34      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:控制   gdrive   read   相同   ret   progress   files   用户组   压缩   

1.软件简介

Rsync 是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机间的文件。Rsync 本来是用以取代rcp 的一个工具,它当前由 Rsync.samba.org 维护。Rsync 使用所谓的“Rsync 演算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。运行 Rsync server 的机器也叫 backup server,一个 Rsync server 可同时备份多个 client 的数据;也可以多个Rsync server 备份一个 client 的数据。

Rsync 可以搭配 rsh 或 ssh 甚至使用 daemon 模式。Rsync server 会打开一个873的服务通道(port),等待对方 Rsync 连接。连接时,Rsync server 会检查口令是否相符,若通过口令查核,则可以开始进行文件传输。第一次连通完成时,会把整份文件传输一次,下一次就只传送二个文件之间不同的部份。

Rsync 支持大多数的类 Unix 系统,无论是 Linux、Solaris 还是 BSD 上都经过了良好的测试。此外,它在windows 平台下也有相应的版本,比较知名的有 cwRsync 和 Sync2NAS。

cwRsync是Rsync在Windows上的实现版本,Rsync通过使用特定算法的文件传输技术,可以在网络上传输只修改了的文件。
cwRsync v4.1.0:https://files.cnblogs.com/files/aten/cwRsync-v4.1.0.rar

cwRsync 的基本特点如下:

可以镜像保存整个目录树和文件系统;
可以很容易做到保持原来文件的权限、时间、软硬链接等;
无须特殊权限即可安装;
优化的流程,文件传输效率高;
可以使用 rcp、ssh 等方式来传输文件,当然也可以通过直接的 socket 连接;
支持匿名传输。

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,使用默认配置安装即可。需要设置环境变量path:c:\Program Files\cwRsync\bin(window server 2008 r2不设置环境变量也能实现)
3.2 使用
新建一个test.bat文件(目录下c:\Program Files\cwRsync\bin),内容如下:

@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会进行文件远程同步;

技术分享图片

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

3. 选择每天执行一次

4. 配置起始时间

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

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

技术分享图片

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

转自https://www.cnblogs.com/l1pe1/p/4901031.html

  https://blog.csdn.net/xygaj/article/details/78889777

  www.cnblogs.com/itech/archive/2010/08/11/1797045.html

  www.cnblogs.com/itech/archive/2009/08/10/1542945.html

  www.cnblogs.com/itech/archive/2010/06/13/1757952.html

 

远程数据同步工具cwRsync

标签:控制   gdrive   read   相同   ret   progress   files   用户组   压缩   

原文地址:https://www.cnblogs.com/aten/p/9314464.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!