免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2371 | 回复: 0
打印 上一主题 下一主题

rsync [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-29 22:40 |只看该作者 |倒序浏览

因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
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP