window系统的Rsync同步实战分析第1/2页

其于window系统的同步实战
1. 远程数据同步工具Rsync介绍
1.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。

  Rsync的基本特点如下:

  1.可以镜像保存整个目录树和文件系统;

  2.可以很容易做到保持原来文件的权限、时间、软硬链接等;

  3.无须特殊权限即可安装;

  4.优化的流程,文件传输效率高;

  5.可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接;

6.支持匿名传输。

1.2 核心算法

  假定在名为α和β的两台计算机之间同步相似的文件A与B,其中α对文件A拥有访问权,β对文件B拥有访问权。并且假定主机α与β之间的网络带宽很小。那么rsync算法将通过下面的五个步骤来完成:

  1.β将文件B分割成一组不重叠的固定大小为S字节的数据块。最后一块可能会比S 小。

  2.β对每一个分割好的数据块执行两种校验:一种是32位的滚动弱校验,另一种是128位的MD4强校验。

  3.β将这些校验结果发给α。

  4.α通过搜索文件A的所有大小为S的数据块(偏移量可以任选,不一定非要是S的倍数),来寻找与文件B的某一块有着相同的弱校验码和强校验码的数据块。这项工作可以借助滚动校验的特性很快完成。

  5.α发给β一串指令来生成文件A在β上的备份。这里的每一条指令要么是对文件B经拥有某一个数据块而不须重传的证明,要么是一个数据块,这个数据块肯定是没有与文件B的任何一个数据块匹配上的。

1.3 命令语法

 rsync的命令格式可以为以下六种:

  rsync [OPTION]... SRC DEST

  rsync [OPTION]... SRC [USER@]HOST:DEST

  rsync [OPTION]... [USER@]HOST:SRC DEST

  rsync [OPTION]... [USER@]HOST::SRC DEST

  rsync [OPTION]... SRC [USER@]HOST::DEST

  rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]

当前1/2页 12下一页阅读全文

时间: 2008-09-15

cwrsync实现从linux到windows的数据同步备份

rsync的最新版本可以从http://rsync.samba.org/rsync/获得.它的特性如下: 1.可以镜像保存整个目录树和文件系统. 2.可以很容易做到保持原来文件的权限.时间.软硬链接等等. 3.无须特殊权限即可安装. 4.优化的流程,文件传输效率高. 5.可以使用rcp.ssh等方式来传输文件,当然也可以通过直接的socket连接. 本文介绍了如何使用rsync服务从Linux到Windows进行远程备份. 一.配置服务器端 首先我们需要配置rsync,打开配置文件/etc/xi

用cwrsync同步windows下数据的简单配置方法

cwrsync下载地址 http://sourceforge.net/projects/sereds/files/cwRsync 或者到 s.jb51.net下载 cwrsync分客户端和服务端两部分,拿cwrsync 4.0.版来说,分别对应cwRsync_4.0.5_Installer.zip和cwRsyncServer_4.0.5_Installer.zip 安装: 客户端安装比较简单,一直下一步就可以了. 服务端安装到Service Account这一步的时候,这一步会建立cwrsync

使用cwRsync实现windows下服务器文件定时同步备份(附错误处理方法)

首先要下载cwRsync的服务端和客户端软件,下载地址如下: 服务端:cwRsync Server (多台服务器文件同步服务端) V4.1.0 免费版 客户端:cwRsync(多服务器文件同步客户端) V4.1.0 免费版 不过我们使用的一般不是最新版本,老版本可以到s.jb51.net的服务器文件同步专区下载 然后我在本地机器上安装了其中的服务器端(10.0.2.136),然后在同网段下的另一台机器(10.0.2.137)安装了客户端.为了测试,我专门在本地机器上的f盘上放置了我们的产品dnt

在Windows中配置Rsync同步文件的方法

Rsync是一款不错的文件免费同步软件,可以镜像保存整个目录树和文件系统,同时保持原来文件的权限.时间.软硬链接.第一次同步时 rsync 会复制全部内容,下次只传输修改过的文件部分.传输数据过程中可以实行压缩及解压缩操作,减少带宽流量.支持scp.ssh及直接socket方式连接,支持匿名传输.支持Linux,Window平台.写本文的时候,window版最新版为4.0.5版 官网:http://rsync.samba.org/ Linux版下载:http://rsync.samba.org/

windows下使用cwRsync定期备份网站(服务器文件同步)

linux下有sync, windows下也有类似的软件,就是cwRsync,此软件分为服务器端/客户端.能找到的最新的版本是3.0.1.下载地址 cwRsync下载 1.cwRsync安装 安装的过程很简单,安装 server 就可以了,server 包括了 client 的功能.安装完 server 后,会在 service 中增加 Rsync 和 ssh 服务,进入服务管理,设置为自动启动.安装成功后,要备分的文件目录必须加上 SvcwRsync 这个用户可读权限. 2.cwRsync服务

windows下rsync的数据同步安装配置方法

rsync的配置环境 软件平台:windows2003 软件版本:cwRsync_2.0.10_Installer cwRsync_Server_2.0.10_Installer 硬件平台:dell2950 cpu1.6G*4 内存:4G 硬盘:1G*6 RAID5 ===安装=== 在WINDOWS环境下安装rsync要安装服务端和客户端 服务器端安装:运行cwRsync_Server_2.0.10_Installer 客户端安装:运行cwRsync _2.0.10_Installe 安装步骤

用rsync实现windows与linux文件同步的方法

windows做为文件服务器,使用rsync的windows服务版本:cwRsyncServer 下载地址:http://rsync.samba.org 安装过程要设置用于系统服务的帐号和密码,可以默认. 注:此帐号用于启用crsync server服务,需要分配给帐号对要同步文件的相应权限,否则无法操作被同步的文件. 安装完成后修改配置文件 rsyncd.conf, 配置文件内容如下: 复制代码 代码如下: port = 52326 use chroot = false strict mode

rsync指定ssh端口进行文件同步的方法

有台服务器因为安全性需要,修改了默认的ssh端口为34778端口. 因此rsync使用ssh同步的时候需要指定ssh的端口 rsync提供了一个-e参数 -e参数的作用是可以使用户自由选择想使用的shell程序来连接远端服务器,因此也可以设置成使用默认的ssh来连接,这样我们就可以加入ssh的参数了 具体语句写法如下: rsync -e 'ssh -p 34778' username@hostname:SourceFile DestFile 单引号,目的是为了使引号内的参数为引号内的命令所用 实

python同步windows和linux文件

写python脚本的初衷,每次在windows编辑完文件后,想同步到linux上去,只能够登录服务器,然后再利用网络copy,重复性很大,就想着能不能写一个小脚本帮我同步 逻辑:比对本地和服务器文件的md5,如果md5不一致,则备份服务器上的文件,将本地的给上传上去 代码分为windows端和服务器端,有些东西,都让python一个做了,写着有点累,就想着,能否服务端提供一个端口,windows去调用这个接口,来完成一部分工作 python代码如下: 需要额外安装的包为是paramiko,安装方

Ubuntu Server Rsync服务端与Windows cwRsync客户端数据同步配置方法

说明: 1.Rsync服务端 系统:Ubuntu Server 11.10 IP地址:192.168.21.168 数据存放目录:/home/mysql_data 2.cwRsync客户端 系统:Windows Server 2003 IP地址:192.168.21.130 同步的目录:D:\mysql_data 实现目的: cwRsync客户端每天凌晨3:00钟自动同步Rsync服务端/home/mysql_data目录中的数据到D:\mysql_data目录 一.Rsync服务端配置 1.开

你可能不知道的一些linux文件权限管理方法

为什么需要权限管理? 1.计算机资源有限,我们需要合理的分配计算机资源. 2.Linux是一个多用户系统,对于每一个用户来说,个人隐私的保护是十分重要的 目录的 rwx 权限 当前用户:vagrant:vagrant 创建 testdir 目录,进入 testdir 目录内.创建文件 test. $ mkdir testdir $ cd testdir $ touch test 修改 testdir 权限为 000,尝试执行 ls testdir $ chmod 000 testdir $ ls

linux系统中rsync+inotify实现服务器之间文件实时同步

之前做了"ssh信任与scp自动传输脚本"的技术文档,此方案是作为公司里备份的方法,但在实际的运行中,由于主服务器在给备份服务器传输的时候,我们的主服务器需要备份的文件是实时.不停的产生的,造成不知道主服务器给备份服务器传输了多少文件,磁盘空间就那么大,做备份的原因:一个是为了保持文件,另外一个是解决主服务器的磁盘饱满问题,但由于不知道备份服务器到底接收了多少文件,所以主服务器里的文件不敢删除(如果没有备份的情况下删除,问题就严重了,我这个是政府的项目,服务器里的文件都是重要的,删错了

Linux 服务器同步 Rsync同步服务器文件

当一台服务器上的文件更新后,其它的服务器也需要更新,而且在更新的时 候应该是只对新增或是修改过的文件进行更新,否则会造成网络带宽和时间的浪费.rsync就是能有 效的保持文件及目录的一致的优秀软件. rsync,remote synchronize 顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的 权限.时间.软硬链接等附加信息,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另 外它还是免费的软件.rysnc的官方网站:http://rsync.sa

xshell上传下载文件(Windows、Linux)

经常有这样的需求,我们在Windows下载的软件包,如何上传到远程Linux主机上?还有如何从Linux主机下载软件包到Windows下:之前我的做法现在看来好笨好繁琐,不过也达到了目的,笨人有本方法嘛: 我是怎么操作的: 1.打开一台本地Linux虚拟机,使用mount 挂载Windows的共享文件夹到Linux上,然后拷贝数据到Linux虚拟机里面:(经常第一步都不顺利,无法挂载Windows的文件夹) 2.在本地Linux虚拟机使用rsync同步拷贝的数据到远程Linux主机上,需要双方都

windows下文件同步工具 CwRsync 4.0.2 安装配置方法(图文)

CwRsync是基于cygwin平台的rsync软件包,支持windows对windows.windows对Linux.Linux对windows高效文件同步.由于CwRsync已经集成了cygwin类库,因此安装的时候可以省去cygwin包.Cwrsync还集成了OpenSSH for windows,可以实现Linux 下Rsync一模一样的操作.详细配置步骤如下: 一.服务器端安装配置 1.下载服务器端安装文件http://http://www.jb51.net/softs/55933.h

RSync实现文件同步备份配置详解

一.什么是rsync rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限.时间.软硬链接等附加信息. rsync是用 "rsync 算法"提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另外它还是免费的软件. rsync 包括如下的一些特性: 能更新整个目录和树和文件系统: 有选择性的保持符号链链.硬链接.文件属于.权限.设备以及时间等: