<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Skynet

    ---------- ---------- 我的新 blog : liukaiyi.cublog.cn ---------- ----------

      BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
      112 Posts :: 1 Stories :: 49 Comments :: 0 Trackbacks
    使用rsync同步網(wǎng)絡(luò)備份
     
     
    一. 簡(jiǎn)介
    rsync常用的備份工具, 它目前是由 rsync.samba.org 維護(hù).
    rsync使用所謂的"rsync算法",提供一個(gè)非常快速的檔案?jìng)鬏敺椒? 使local和遠(yuǎn)端二部主機(jī)之間的檔案達(dá)到同步,它主要是傳送二個(gè)檔案的異動(dòng)部份,而非每次都整份傳送, 因此速度相當(dāng)?shù)乜? 
    rsync它可以搭配rsh或ssh,也可以當(dāng)成daemon模式使用直接的socket連接, 所以rsync可以當(dāng)做一個(gè)優(yōu)異的備份工具來(lái)使用. 
    我這簡(jiǎn)單介紹運(yùn)用rsync備份遠(yuǎn)程網(wǎng)路主機(jī)檔案的基本方法。
    在這,我們是給rsync當(dāng)成linux的一種daemon模式來(lái)運(yùn)行.

    首先,先給個(gè)簡(jiǎn)單的定義:當(dāng)然要一臺(tái)主機(jī)跑rsync daemon模式, 我們就稱這臺(tái)機(jī)器為一rsync Server, 或者說(shuō)這臺(tái)主機(jī)是一臺(tái)備份主機(jī)( Backup Server).
    備份主機(jī)會(huì)開(kāi)啟一個(gè)873的端口(port), 等待對(duì)方rsync連接.所以服務(wù)器記的要開(kāi)這個(gè)端口

    連接時(shí), rsync Server 會(huì)檢查密碼是否相符, 若通過(guò)密碼查核, 則開(kāi)始進(jìn)行檔案?jìng)鬏?
    第一次連通完成時(shí), 會(huì)把整份檔案?jìng)鬏斠淮? 下一次就只傳送二個(gè)檔案之間異動(dòng)的部份. 
    以上是rsync client (欲加以備份的遠(yuǎn)程網(wǎng)路主機(jī)) 和rsync server 的運(yùn)作方式。
     
    藉由上述方法, 我們當(dāng)然也可以設(shè)立多部備份主機(jī), 使網(wǎng)路主機(jī)上重要的檔案能分散至數(shù)部主機(jī)中, 以分散風(fēng)險(xiǎn). 
    一旦完成備份, 我們可以對(duì)這些備份主機(jī)再做進(jìn)一步的儲(chǔ)存動(dòng)作, 如使用tar打成tar的包, 把檔案?jìng)浞莸接脖P(pán)之類.

    以下內(nèi)容,我用Ubuntu 7.10做客戶機(jī),Centos5做服務(wù)器測(cè)試過(guò).
      
     
    二. 安裝法
     
    rsync目前最新版是 2.6.8, 可以到rsync.samba.org 下載.
    若您使用 rpm 套件,請(qǐng)用下面的方法安裝,當(dāng)然rhel5和centos5中默認(rèn)就安裝了
    #rpm -ivh rsync*.rpm
    #yum install rsync
     
    它的設(shè)定檔位置在 /etc/rsyncd.conf,奇怪,我的沒(méi)有自動(dòng)生成這個(gè)文件,那我們就來(lái)自己配置他
     
     
     
    三. 設(shè)定 rsync server: (假設(shè)這臺(tái)主機(jī)名稱為 rsync.x111.com)
     
    rsync server 端要設(shè)定以下四項(xiàng):
     
       1.規(guī)劃建立備份目錄區(qū) 
     
       2.啟動(dòng)xinetd中的rsync  
       3.設(shè)定: /etc/rsyncd.conf 
     
       4.設(shè)定: 密碼檔 
     
    依次說(shuō)明如下:
     
    1. 規(guī)劃建立備份目錄區(qū):
    建議您準(zhǔn)備一個(gè)容量較大且獨(dú)立的分割區(qū), 并在其中開(kāi)好備份目錄, 如此 /blackup/x99
     
    2. 啟動(dòng)xinetd中的rsync
    系統(tǒng)默認(rèn)沒(méi)有安裝xinetd。
    # yum install xinetd
    #service xinetd restart
    #chkconfig rsync on
     
    以上的操作,主要是要打開(kāi)rsync這個(gè)daemon,一旦有rsync client要連接時(shí),xinetd會(huì)把它轉(zhuǎn)介給rsyncd (port 873). 
     
     
    3. 設(shè)定 /etc/rsyncd.conf : 
    全局設(shè)置
        uid = root
        gid = root
        use chroot = no                # 不使用chroot
        max connections = 4         # 最大連接數(shù)為4
        pid file = /var/run/rsyncd.pid
        lock file = /var/run/rsync.lock
        log file = /var/log/rsyncd.log    # 日志記錄文件
     
    以下的部分,代表開(kāi)放給某一臺(tái)rsync client 主機(jī)的設(shè)定, 簡(jiǎn)單范本如下: 
        [x99]
        path = /blackup/x99/x99_backup   
        auth users = x99_backup
        secrets file = /etc/rsyncd.secrets
        read only = no
     
     
    以上文件的注解: 
     
    [x99] 代表要備份的主機(jī)代號(hào), 名稱自己設(shè)置.
     
    path 用來(lái)設(shè)定備份檔案要存放在那一個(gè)目錄.這個(gè)可先要mkdir開(kāi)好,可以自己設(shè)置
    auth users 代表授權(quán)的帳號(hào), 可以自己設(shè)置.
    secrets file 代表儲(chǔ)存帳號(hào)密碼的密碼檔, 其放置的路徑檔名.
     
    當(dāng)然, 這臺(tái)備份主機(jī), 可以容納許多 rsync client 連接, 只要在 rsyncd.conf中設(shè)置對(duì)應(yīng)的多個(gè)部分即可.
     
    以下例子,代表二個(gè)主機(jī)x99及x100欲備份進(jìn)來(lái):
     
     
     
        [x99]
        path = /blackup/x99/x99_backup
        comment = XXXXX
        auth users = x99_backup
        secrets file = /etc/rsyncd.secrets
        read only = no
       
        [x100]
        path = /blackup/x100/x100_backup
        auth users = x100_backup
        secrets file = /etc/rsyncd.secrets
        read only = no
     
     
     
    4. 設(shè)定密碼文件:
     
    rsyncd.secrets 的內(nèi)容很容易, 格式為"帳號(hào):密碼";
    如以下例子:
    x99_backup:x99pass
    注意! 上述設(shè)定只是一個(gè)例子,你自己設(shè)置可一定千萬(wàn)不要直接套用.
    接下來(lái), 要將 rsyncd.secrets 這個(gè)密碼檔的檔案屬性設(shè)為root擁有, 且權(quán)限要設(shè)為600, 否則無(wú)法備份成功!
     
    因此, 請(qǐng)下: 
    #chown root.root rsyncd.secrets 
    #chmod 600 rsyncd.secrets 
     
    至此, rsync的服務(wù)器這端已設(shè)定完成, 若欲查看備份日志.
    #tail -f /var/log/rsyncd.log
     
     

    接下來(lái)是 client 端(即欲備份的網(wǎng)絡(luò)主機(jī)) 的設(shè)定.
     
     
    四. 設(shè)定 rsync client (假設(shè)這臺(tái)主機(jī) IP 為 : 11.22.33.44)
    步驟:
     
       1.設(shè)定密碼檔 
     
       2.測(cè)試rsync命令是否可以正常 
     
       3.將rsync指令放入定時(shí)任務(wù)(crontab) 
     
    另外, 假設(shè)x99這臺(tái)主機(jī)是網(wǎng)路上的服務(wù)器, 現(xiàn)打算把/var/www/html這個(gè)目錄加以備份至backup server(上面講的rsync.x111.com), 
     
    但不想備份下面的目錄中的內(nèi)容/html/log,(也就是說(shuō)要把/html/log目錄排除), 整個(gè)操作方式如下:
     
    1. 假設(shè)把密碼檔放在 /root/rsyncd.secrets, 內(nèi)容只要含有密碼一行即可:
     
    x99pass
     
    注意: rsyncd.secrets 的權(quán)限屬性必須設(shè)為600,設(shè)置方法見(jiàn)上面.
     
    2. 測(cè)試指令是否可以成功?
     
    /usr/bin/rsync -rvztopglHpogDtS --progress  --password-file=/root/rsyncd.secrets /var/www/html --exclude /html/log x99_backup@rsync.x111.com::x99
     
    若 出現(xiàn)傳輸目錄檔案的畫(huà)面, 即表示測(cè)試成功.上面這個(gè)命令行中-rv里的v是verbose,z是壓縮,r是遞歸,字目錄一直,topg都是保持文件原有屬性如屬主、時(shí)間的參數(shù)。 --progress是指顯示出詳細(xì)的進(jìn)度情況,--delete是指如果服務(wù)器端刪除了這一文件,那么客戶端也相應(yīng)把文件刪除,保持真正的一致。后面的 x99_backup@ip中,的x99_backup是指的用戶名
     
    3. 置入工作排程, 假設(shè)每天凌晨5點(diǎn)開(kāi)始備份:
     
    crontab -u root -e
    0 5 * * * /usr/bin/rsync -rvlHpogDtS --password-file=/root/rsyncd.secrets /var/www/html --exclude apache /html/log x99_backup@rsync.x111.com::x99
     
    若您有其它目錄(如 /home)要備份, 則如法泡制: 20 5 * * * /usr/bin/rsync -rvlHpogDtS --password-file=/root/rsyncd.secrets /home x99_bakup@rsync.x111.com::x99
     
    當(dāng)然您覺(jué)得備份一臺(tái)Backup Server不夠,還可再按上述方法,自行增加任意多臺(tái)Backup Server, 以分散風(fēng)險(xiǎn)!
     
     
    五. 安全性:
     
    防火墻的 iptables 指令, 來(lái)限制 rsync client 的連線范圍, 例子如下:
     
    iptables -A INPUT -p tcp -s ! xx.xx.xx.xx --dport 873 -j DROP
     
    如此, 只有 xx.xx.xx.xx 這個(gè) client IP 能連入這臺(tái) rsync server.


    附:
    詳細(xì)格式說(shuō)明:
    -v, --verbose 詳細(xì)模式輸出
    -q, --quiet 精簡(jiǎn)輸出模式
    -c, --checksum 打開(kāi)校驗(yàn)開(kāi)關(guān),強(qiáng)制對(duì)文件傳輸進(jìn)行校驗(yàn)
    -a, --archive 歸檔模式,表示以遞歸方式傳輸文件,并保持所有文件屬性,等于-rlptgoD
    -r, --recursive 對(duì)子目錄以遞歸模式處理
    -R, --relative 使用相對(duì)路徑信息
    -b, --backup 創(chuàng)建備份,也就是對(duì)于目的已經(jīng)存在有同樣的文件名時(shí),將老的文件重新命名為
    ~filename。可以使用--suffix選項(xiàng)來(lái)指定不同的備份文件前綴。
    --backup-dir 將備份文件(如~filename)存放在在目錄下。
    -suffix=SUFFIX 定義備份文件前綴
    -u, --update 僅僅進(jìn)行更新,也就是跳過(guò)所有已經(jīng)存在于DST,并且文件時(shí)間晚于要備份的文件。
    (不覆蓋更新的文件)
    -l, --links 保留軟鏈結(jié)
    -L, --copy-links 想對(duì)待常規(guī)文件一樣處理軟鏈結(jié)
    --copy-unsafe-links 僅僅拷貝指向SRC路徑目錄樹(shù)以外的鏈結(jié)
    --safe-links 忽略指向SRC路徑目錄樹(shù)以外的鏈結(jié)
    -H, --hard-links 保留硬鏈結(jié)
    -p, --perms 保持文件權(quán)限
    -o, --owner 保持文件屬主信息
    -g, --group 保持文件屬組信息
    -D, --devices 保持設(shè)備文件信息
    -t, --times 保持文件時(shí)間信息
    -S, --sparse 對(duì)稀疏文件進(jìn)行特殊處理以節(jié)省DST的空間
    -n, --dry-run現(xiàn)實(shí)哪些文件將被傳輸
    -W, --whole-file 拷貝文件,不進(jìn)行增量檢測(cè)
    -x, --one-file-system 不要跨越文件系統(tǒng)邊界
    -B, --block-size=SIZE 檢驗(yàn)算法使用的塊尺寸,默認(rèn)是700字節(jié)
    -e, --rsh=COMMAND 指定替代rsh的shell程序
    --rsync-path=PATH 指定遠(yuǎn)程服務(wù)器上的rsync命令所在路徑信息
    -C, --cvs-exclude 使用和CVS一樣的方法自動(dòng)忽略文件,用來(lái)排除那些不希望傳輸?shù)奈募?br /> --existing 僅僅更新那些已經(jīng)存在于DST的文件,而不備份那些新創(chuàng)建的文件
    --delete 刪除那些DST中SRC沒(méi)有的文件
    --delete-excluded 同樣刪除接收端那些被該選項(xiàng)指定排除的文件
    --delete-after 傳輸結(jié)束以后再刪除
    --ignore-errors 及時(shí)出現(xiàn)IO錯(cuò)誤也進(jìn)行刪除
    --max-delete=NUM 最多刪除NUM個(gè)文件
    --partial 保留那些因故沒(méi)有完全傳輸?shù)奈募允羌涌祀S后的再次傳輸
    --force 強(qiáng)制刪除目錄,即使不為空
    --numeric-ids 不將數(shù)字的用戶和組ID匹配為用戶名和組名
    --timeout=TIME IP超時(shí)時(shí)間,單位為秒
    -I, --ignore-times 不跳過(guò)那些有同樣的時(shí)間和長(zhǎng)度的文件
    --size-only 當(dāng)決定是否要備份文件時(shí),僅僅察看文件大小而不考慮文件時(shí)間
    --modify-window=NUM 決定文件是否時(shí)間相同時(shí)使用的時(shí)間戳窗口,默認(rèn)為0
    -T --temp-dir=DIR 在DIR中創(chuàng)建臨時(shí)文件
    --compare-dest=DIR 同樣比較DIR中的文件來(lái)決定是否需要備份
    -P 等同于 --partial --progress 顯示備份過(guò)程
    -z, --compress 對(duì)備份的文件在傳輸時(shí)進(jìn)行壓縮處理
    --exclude=PATTERN 指定排除不需要傳輸?shù)奈募J?br /> --include=PATTERN 指定不排除而需要傳輸?shù)奈募J?br /> --exclude-from=FILE 排除FILE中指定模式的文件
    --include-from=FILE 不排除FILE指定模式匹配的文件
    --version 打印版本信息
    --address 綁定到特定的地址
    --config=FILE 指定其他的配置文件,不使用默認(rèn)的rsyncd.conf文件
    --port=PORT 指定其他的rsync服務(wù)端口
    --blocking-io 對(duì)遠(yuǎn)程shell使用阻塞IO
    -stats 給出某些文件的傳輸狀態(tài)
    --progress 在傳輸時(shí)現(xiàn)實(shí)傳輸過(guò)程
    --log-format=FORMAT 指定日志文件格式
    --password-file=FILE 從FILE中得到密碼
    --bwlimit=KBPS 限制I/O帶寬,KBytes per second
    -h, --help 顯示幫助信息


    轉(zhuǎn)自 http://blog.csdn.net/KataDoc360/archive/2009/03/16/3995559.aspx


    整理 m.tkk7.com/Good-Game
    posted on 2009-10-28 17:55 劉凱毅 閱讀(336) 評(píng)論(0)  編輯  收藏 所屬分類: shell系統(tǒng)
    主站蜘蛛池模板: 亚洲人成电影网站国产精品| 免费一级全黄少妇性色生活片| 久久亚洲国产精品123区| 国产a不卡片精品免费观看| 四虎影视成人永久免费观看视频 | 国产一级在线免费观看| 亚洲精品无码av中文字幕| 亚洲免费在线视频| 国产亚洲色视频在线| 国产精品国产免费无码专区不卡| 91在线手机精品免费观看| 成年免费a级毛片免费看无码| 国产精品亚洲精品久久精品| 亚洲看片无码在线视频 | 免费黄网站在线观看| 九九视频高清视频免费观看| 亚洲av无码日韩av无码网站冲| 亚洲无圣光一区二区| 综合自拍亚洲综合图不卡区| 国产AV无码专区亚洲AV毛网站| 亚洲一级特黄大片无码毛片| 免费h黄肉动漫在线观看| 国产成人精品高清免费| 精品免费久久久久久成人影院| 91视频国产免费| 中文字幕无码播放免费| 免费观看激色视频网站(性色)| 亚洲日本中文字幕天天更新| 亚洲欧洲日产国码二区首页| 亚洲大片在线观看| 无码乱人伦一区二区亚洲| 久久久久亚洲av无码尤物| 亚洲男同帅GAY片在线观看| 在线观看亚洲天天一三视| 亚洲色成人中文字幕网站| 亚洲精品乱码久久久久久| 亚洲欧洲日产国码无码久久99| 亚洲色欲一区二区三区在线观看| 久久99亚洲综合精品首页 | a级毛片免费在线观看| 成人无码WWW免费视频|