首页 > 范文大全 > 正文

利用cwRsync实现Window间数据同步备份

开篇:润墨网以专业的文秘视角,为您筛选了一篇利用cwRsync实现Window间数据同步备份范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:备份数据是一项重要的工作,有很多备份的方法和软件。该文介绍了Windows间利用cwrsync进行数据同步备份的具体方法。

关键词:cwRsync;同步;备份;SSH

中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)23-1082-02

Window CwRsync Use to Achieve Data Synchronization between the Backup

WANG Xiang-wei

(Guilin University of Technology,Guilin 541004,China)

Abstract:Backup data is an important task,there are many methods and backup software.This paper introduced the concrete method of Carries on the data synchronization backup using cwRsync between windows.

Key words: cwRsync; synchronization; backup; SSH

1 cwRsync简介

数据备份可防止因存储设备损坏造成的损失,是管理员一项重要的工作,实现数据远程备份很多方法,最简单的方法就是使用 FTP 或类似工具或脚本, 但是这种方法每次都需要将所有文件和数据都重新在网络上传输一遍, 而不考虑哪些文件是新增的或更新的,因此效率非常低下,在备份数据量很大时,需要花费更长的时间在网络上进行数据传输。实现数据远程备份或建立网站镜像的第二种方法是选择商业化的备份和镜像产品, 但这些产品的价格往往过于昂贵,这里介绍一种windows下实现远程数据同步/备份的自由软件cwRsync。

cwRsync是Rsync的Windows版本,同Rsync一样是一个远程数据同步/备份工具,可通过LAN/WAN快速同步多台主机间的文件。它使用“Rsync演算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。cwRsync的基本特点如下:

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

2)可以很容易做到保持原来文件的权限、时间等信息;

3)优化的流程,文件传输效率高;

4)可以使用RCP、SSH等方式来传输文件,也可以通过直接的socket连接;

5)支持匿名和认证传输。

2 配置使用cwRsync

假设有两条服务器,名字分别为ServerA和ServerB。ServerA的IP为172.16.0.1,作为备份服务器。ServerB的IP为172.16.0.2,为需要备份的服务器,需要将ServerB服务器的D:\www目录备份到ServerA服务器上。首先去www.itefix.no/cwrsync/网站下载最新的服务器端和客户端安装文件。

2.1 配置cwRsync Server

1)在备份服务器ServerA上安装cwRsync Server,路径为:C:\Program Files\cwRsyncServer,如果需要通过ssh实现主机间加密文件传输,安装时需要选中“OpenSSH Server”,安装结束后在系统服务里将会增加两个服务:RsyncServer和Openssh SSHD。

2)接下配置cwRsync Server,通过编辑C:\Program Files\cwRsyncServer\ cwRsyncServer

rsyncd.conf文件来完成配置工作,它控制认证、 访问、日志等。下面是一个配置文件样例:

use chroot = false

strict modes = false

hosts allow = *

log file = rsyncd.log

pid file = rsyncd.pid

[www]

path = /cygdrive/d/backup/www/

read only = false

transfer logging = yes

auth users =user1,user2

secrets file =rsyncd.secrets

hosts allow项指定哪些IP的客户允许连接Rsync服务。可以是以下形式:

单个IP地址,例如:192.167.0.1

整个网段,例如:192.168.0.0/24,也可以是192.168.0.0/255.255.255.0

多个IP或网段需要用空格隔开,“*”则表示所有,默认是允许所有主机连接log file项设置存储日志文件的路径。

[www]行及以下定义了一个模块,在一个配置文件中可以定义多个模块,每个模块都可以有自己的参数,在该模块中:

path项定义了该模块存储文件的磁盘路径(cwRsync将所有磁盘分区映射为/cygdrive/x/的形式,即分区C:转换为/cygdrive/c/,以此类推)。

Read Only项定义目录是否只允许读,默认为False;

auth users项定义认证的用户名列表user1和user2;

secret file项定义存储密钥的文件为/cygdrive/etc/rsyncd.secrets,该文件内容如下:

user1:password1

user2:password2

到此cwRsync Server配置完成,在服务中开启“RsyncServer”服务。

2.2 使用cwRsync Client

在ServerB上运行client安装文件,安装到默认路径:C:\Program Files\cwRsync。

在C:\Program Files\cwRsync目录下建立一个rsync.pass文件,内容为“password1”,与ServerA的rsyncd.secret文件中user1的密码对应。在ServerB上运行下命令来完成d:\www到ServerA的同步备份:

rsync -av --delete --password-file=rsync.pass /cygdrive/d/www/ user1@172.16.0.1::www

-av中的a表示存档模式,v表示显示详细信息;

--delete表示同步删除文件,保持数据的一致性;

--password-file指定使用user1认证时的密码文件;

/cygdrive/d/www/指定了备份的源文件夹,即d:/www/。

user1@172.16.0.1::www指定使用user1用户名进行认证,目标服务器为172.16.0.1,目标模块为www。

2.3 使用SSH通道传输文件

如果需要通过ssh方式来传输文件,需要配置Openssh通过Public-Key方式认证,配置过程如下:

1)在ServerA执行“开始─所有程序─cwRsync Server-05. Start a Unix BASH Shell”,执行之后,会出现一个命令行窗口;

2)在$提示符下执行命令:bin/activate-user.sh;系统出现提示信息:Do you want to activarte a (l)ocal or a (d)omain user [l/d]?,此时按小写的l;

3)在出现提示信息“Enter a user account for activation:”后输入SvcwRsync或其他列出的帐号。接下来出现的信息都可直接按Enter跳过了。

4)在服务中启动“Openssh SSHD”服务。

5)将C:\Program Files\cwRsyncServer\var\SvcwRsync\.ssh\cwrsync私钥文件拷贝到ServerB的C:\Program Files\cwRsync\目录下并在该目录下建一个批处理文件backup.bat,具体内容如下:

@ECHO OFF

SET SECHAW_IDENTITY="C:\Program Files\cwRsync\cwrsync"

SET SECHAW_TYPE=ssh

SET SECHAW_LOCALPORT=9119

SET SECHAW_SERVER=172.16.0.1

SET SECHAW_SERVERPORT=873

SET SECHAW_USER=SvcwRsync

SET RSYNC_PASSWORD=password1

SET SECHAW_CMD="C:\Program Files\cwRsync\bin\rsync.exe" -av/cygdrive/d/www/rsync://user1@localhost:9119/test

SET SECHAW_TUNNEL=ssh -i "C:\Program Files\cwRsync\bin\SvcwRsync" -L 9119:127.0.0.1:873 SvcwRsync@202.193.85.189 -T -N

"C:\Program Files\cwRsync\bin\sechaw.exe" Cverbose

6)执行backup.bat即可通过SSH通道来完成数据的同步备份工作。

3 结束语

批处理文件结合“任务计划”可完成服务器端数据的定时自动同步、备份,对于有大量服务器数据需要备份的管理员来说,可以大大减少工作量,并可较少手工备份可能带来的错误或数据不一致;对于重要的数据,可通过SSH加密传输提高安全性,防止数据被截获或篡改。总之cwRsync部署简单,易用,而且是免费软件,可大大节约备份成本,对于中小企和高校的数据备份具有一定的实用性。

参考文献:

[1] 孙东奇,王秀梅.用Rsync实现Linux文件系统备份[J].教育信息化,2006,(2):35-36

[2] 曾鸣等.基于ssh、rsync和磁盘阵列的邮件数据备份.重庆工学院学报(自然科学版),2007,(06):106-109.

[3] 应用rsync轻松备份数据[N].每周电脑报,2006-06-05:33-34.