- 论坛徽章:
- 0
|
因Rsync是一款Unix或类Unix系统平台的软件,所以在Windows平台上运行,需要用到Cygwin这款软件;cygwin是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件(该公司开发了很多好东西,著名的还有eCos,不过现已被Redhat收购)。它对于学习unix/linux操作环境,或者从Unix到windows的应用程序移植,或者进行某些特殊的开发工作都非常方便。下面我们开始安装:
1.1.1 从Cygwin的网站
http://www.cygwin.com/
下载安装程序setup.exe,并执行安装。
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image002.jpg
1.1.2 选择安装所需程序来源的方法
共有3种方式。“Install
from Internet” 为直接下载所需程序并立即安装;“Download from Internet”为仅下载所需程序而不安装;“Install from Local Directory”为安装时所需程序已先储存在个人计算机中,不需下载而可直接安装。在此我们选择“Install from Internet”。
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image004.jpg
1.1.3 选择所要安装的目的目录
在此我们要将软件安装至硬盘E下的cygwin目录中,故键入“E:\cygwin”或使用“Browse”选择目录。选项“Install for”为使用权限选择,选择“All Users”项目;“Default Text File Type”为文字文件的类型,“DOS”和“Unix”的差别在于前者的换行为ASCII码的0D(Carriage
Control)及0A(Line Feed,换行)字符的组合,而后者仅为0A而已,选择“Unix”选项。
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image006.jpg
1.1.4 选择安装时作为储存下载程序的存放目录
安装所需的各式种类的程序会先被储存到储存目录中,在此我们设定为硬盘G中的cygwin install目录。
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image008.jpg
1.1.5 选择网络连接的方式
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image010.jpg
1.1.6 选择程序来源网站
这些镜像网站存有安装所需的各种类的程序,但有时也会有不齐全的情况发生,我们选择一个比较快的ftp站作为程序来源网站,若在安装过程中出现下载的问题,则重新选择其它来源网站或再试一次原来的网站即可。
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image012.jpg
1.1.7 选择欲安装的软件包
选择“Base”、“Devel”、和“Editor”3个选项和rsync软件包,每点选图中的双箭头圈圈符号时,则会变成“Install”、“Uninstall”、或“Default”其中之一的设定;点选加号“+”则可将该项展开成更细的分项。
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image014.jpg
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image016.jpg
1.1.8 安装完成
安装完成后,就可以在E:\cygwin\bin内看到rsync.exe文件了,这就是我们需要的备份软件。
1.2 172.22.1.254(Linux)备份软件安装
Rsync的最新版是2.6.3,可以在
http://rsync.samba.org/
上下载。如果下载的是源码,解压后只要
./configure && make && make install
就安装完成了。一般的Linux系统都带有Rsync的软件包,如Redhat,用它的RPM包安装非常方便。
rpm –ivh rsync-2.5.5-4.rpm
1.3
Rsync的配置
Linux平台和Windows2003平台上的配置原理上都一样,但因为环境的差别,操作起来有一些差别。
1.3.1 172.22.1.254(Linux)上Rsync的配置
建立文件/etc/rsyncd.conf:
# vi /etc/rsyncd.conf
log file = /var/log/rsyncd.log
#/var/log/rsyncd.log是记录文件,当备份客户端每次备份后,这个文件都会记录相关信息
pid file =
/var/run/rsyncd.pid
uid = root
gid = root
use chroot = no
#下面的配置和SAMBA的配置有些相似,是一些备份模块,一个模块可对应一个备份目录或文件
[cvs]
path =
/usr/serviceroot/cvs
#/usr/serviceroot/cvs是备份的内容
read only = false
transfer logging
= yes
use chroot =
false
strict modes =
false
hosts allow =
172.22.1.253
#只充许172.22.1.253这个IP的主机备份
[web]
path =
/usr/serviceroot/web
read only = false
transfer logging
= yes
use chroot =
false
strict modes =
false
hosts allow =
172.22.1.253
保存后,执行
# chkconfig
rsync on (让Rsync服务在启动时开启)
# service xinetd restart
现在rsync就已经在运行了。
1.3.2 172.22.1.253(windows)上Rsync的配置
在Windows平台上,我们需要把Rsync做成NT service来运行。Cygwin内附带了一个命令cygrunsrv.exe来建立Nt Service。和Linux平台一样,我们需要用文本编辑器先建立一个配置文件E:\cygwin\etc\rsyncd.conf:
log file =
/var/log/Rsyncd.log
pid
file = /var/run/Rsyncd.pid
[Share]
comment
= Simton-Share backup
path =
/cygdrive/c/Simton-Share
read
only = false
transfer
logging = yes
use
chroot = false
strict
modes = false
hosts
allow = 172.22.1.254
#只充许172.22.1.254这个IP的主机备份
cygwin在会把它的安装目录当做root,也就是说E:\cygwin相当于/。所以如果想写C:\Simton-Share就应该用/cygdrive/c/Simton-Share代替。
现在用cygrunsrv.exe命令把Rsync做成Nt Service:
cygrunsrv.exe
-I "Rsync" -p /cygdrive/e/cygwin/bin/rsync.exe
-a "--config=/cygdrive/e/cygwin/etc/rsyncd.conf
--daemon --no-detach" -f "Rsyncd
backup service"
OK,现在可以看到在WINDOWS的服务内有一项Rsync的服务了,启动它后,Rsync就以Nt Service开始运行了。
1.4
建立备份策略
1.4.1
从client端进行测试
在172.22.1.254上做测试:
# rsync -vzrtopg --progress --delete 172.22.1.253::Share /tmp/
在172.22.1.253上做测试:
E:\> \cygwin\bin\rsync -vzrtopg --progress --delete 172.22.1.254::cvs c:\temp
E:\> \cygwin\bin\rsync -vzrtopg --progress --delete 172.22.1.254::web c:\temp
命令行中-vzrtopg里的v是verbose,z是压缩,r是recursive,topg都是保持文件原有属性如所有者、时间的参数。--progress是指显示出详细的进度情况,--delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致。172.22.1.254和172.22.1.253是备份主机的IP,Share、cvs、web是备份模块名(参见服务器的配置一节),最后一个参数是数据的存放位置。
rsync详细的参数用法可参考man rsync。
1.4.2
建立172.22.1.253的定时备份策略
在172.22.1.254建立三个shell文件,分别用于每周和每月的备份:
# vi /mnt/hdb1/backa.sh
#!/bin/sh
rsync
-vzrtopg --progress --delete 172.22.1.253::Share /mnt/hdb1/backup253
# vi /mnt/hdb3/backb.sh
#!/bin/sh
rsync
-vzrtopg --progress --delete 172.22.1.253::Share /mnt/hdb3/backup253b
# vi /mnt/hdb2/back.sh
#!/bin/sh
rsync
-vzrtopg --progress --delete 172.22.1.253::Share /mnt/hdb2/backup253old
#使这些文件可以执行:
# chmod
755 /mnt/hdb1/backa.sh
# chmod
755 /mnt/hdb3/backb.sh
# chmod
755 /mnt/hdb2/back.sh
将这三个shell加入到crontab,定时执行。/mnt/hdb1/backa.sh为每周一、三、五、日1:30执行,/mnt/hdb3/backb.sh为每周二、四、六1:30执行,/mnt/hdb2/back.sh为每月1、15号2:30执行。
#crontab
–e
30 1 * *
0 /mnt/hdb1/backa.sh
30 1 * *
1 /mnt/hdb3/backb.sh
30 1 * *
2 /mnt/hdb1/backa.sh
30 1 * *
3 /mnt/hdb3/backb.sh
30 1 * *
4 /mnt/hdb1/backa.sh
30 1 * *
5 /mnt/hdb3/backb.sh
30 1 * * 6 /mnt/hdb1/backa.sh
30 2 1 *
* /mnt/hdb2/back.sh
30 2 15
* * /mnt/hdb2/back.sh
1.4.3
建立172.22.1.254的定时备份策略
在172.22.1.253上先建立三个批处理文件,再用windows的计划任务建立三个计划任务,分别于每周一、三、五、日3:30,每周二、四、六3:30,每月1、15号23:00开始运行:
h:\>edit backup.bat
e:\cygwin\bin\rsync
-vzrtopg --progress --delete 172.22.1.254::cvs h:\backup254old\cvs
e:\cygwin\bin\rsync
-vzrtopg --progress --delete 172.22.1.254::web h:\backup254old\web
h:\>edit backupa.bat
e:\cygwin\bin\rsync
-vzrtopg --progress --delete 172.22.1.254::cvs h:\backup254a\cvs
e:\cygwin\bin\rsync
-vzrtopg --progress --delete 172.22.1.254::web h:\backup254a\web
h:\>edit backupb.bat
e:\cygwin\bin\rsync
-vzrtopg --progress --delete 172.22.1.254::cvs h:\backup254b\cvs
e:\cygwin\bin\rsync
-vzrtopg --progress --delete 172.22.1.254::web h:\backup254b\web
建立三个备份的计划任务:
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image018.jpg
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image020.jpg
任务backupa,每周一、三、五、日3:30运行
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image022.jpg
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image024.jpg
任务backupb,每周二、四、六3:30运行
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image026.jpg
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image028.jpg
任务backup,每月1、30号23:00运行
2.
方案总结
从该方案运行近两周的情况来看,已经基本能符合公司的需要,从172.22.1.253至172.22.1.254和备份,有10G左右的资料,除第一次备份的时间比较长之外,其它的时候都是不到10分钟就完成备份。
另外该方案也有一些显著的缺点,因为是windows平台和Linux平台之间的相互备份,有一些windows平台上的文件名所支持的特殊字符,或者过长的文件名,到Linux平台上就不支持了。而且Linux平台是大小写区分的,同一个目录中可能会有两个相同名称的文件,只是大小写不一样,还有Linux平台的一些链接文件,这些都是windows平台所不支持的。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/8413/showart_162204.html |
|