close
*實驗環境*
 
 Rsync Server (CentOS 5.5: nodea): 同步資料夾 /data
 
 假設 Rsync Server 為遊戲企業散發新的資料檔至其他同款N台伺服器

 Primary Sync Distribute Server
 
Rsync Clinet  (CentOS 5.5: mail): 同步資料夾 /data
 
 Rsync Clinet : 為接收 Rsymc Server 資料 同步角色(Exsample: 適用同款遊戲架構
 
 Game Server 改版時相關檔案同步更新 )
 
*Rsync 是Lnux 很好同步工具,尤其是當建立Rsync Server 時可以 1對多 透過rsync

  同步多台client 主機*
 

1.) Rsync Server (nodea:192.168.0.111): [建立SSH 驗證登入無須密碼 ]
 
     *主要為了讓client 主機於進行rsync同步時無須詢問nodea 系統帳號登入密碼*
 
       shll> ssh-keygen -t rsa        #切勿輸入密碼,利用rsa加密方式
 
 
  
 
     接者我們將上一步產生於 /root/.ssh/id_rsa.pub 此檔利用scp 將該檔案傳輸自  

     mail(192.168.0.197) 主機的 /root/.ssh/ 
目錄下
 
     並更名為authorized_keys
 
  
 
     利用nodea(Rsync Server) SSH 登入 mail(Rsync Client)驗證是否已可無密碼登入mail
 
     此台主機(下圖已測試OK)
 
  
 
(2.) 編輯/etc/rsyncd.conf(Rsync Server 主要設定檔): 加入以下
 
      [server_update]       #module name
 
       comment = sync data to mail      #註解
 
       auth   user = keynes                   

         # Rsync Server 採用帳號密碼驗證client 同步,定義一rsync 帳號
 
       path = /data                                 

     
#定義 Rsync Server 使用哪個資料夾藉此與client 端進行同步,填入資料夾路徑
 
       secrets  file = /etc/rsyncd.secrets   #指定 Rsync Server 驗證帳號與密碼
   
   
 
     vi  /etc/rsyncd.secrets       #編輯rsync server 驗證密碼檔案 格式: acount:passwd
 
      keynes:12345       #修改完成後存檔
 
      shell> chmod 600 /etc/rsyncd.secrets  #對明碼之密碼檔案做保護
 
      接者請利用scp 將 /etc/rsyncd.secrets  copy傳輸至 root@192.168.0.197:/etc/ 
     
      shell>scp /etc/rsyncd.secrets  root@192.168.0.197:/etc/     #此step 貼圖省略
 
   
 
     修改完成後請_重新啟動xinetd
  
     /etc/init.d/xinetd restart 
 
 
 
(3.) [ mail(Rsync Client)]測試同步
 
       登入 Rsync Client : 初步測試同步 
 
       shell> rsync -avz root@192.168.0.111:server_update /data
 
               #:server_update : 為我們在rsyncd.conf 中定義module name
 
                 ,藉此區隔多組同步組態
         
                  參數  a: --archive archive mode, equivalent to -rlptgoD
                           
                            v:  顯示同步執行過程
                           
                            z: --compress compress file data
 
   
 
       我們轉換至nodea(Rsync Server) /data 建立名為keynes 檔案
 
       shell> echo 'hello' > /data/keynes
 
    
 
      
        切換 mail : 手動再進行同步一次(下圖已同步成功)
 
   
 
       寫入crontab 排程執行rsync
 
       vi  /usr/local/bin/update.sh             
 
      #下圖參數多了--delete : 若rsync server 刪除某同步資料夾檔案,當rsync 下次同步時將

        同步刪除該檔案
 
      開機自動啟動rsync
 
      shell> chkconfig rsync on
 
   
 
       crontab -e   #Client 端 掛入排程定期執行與Rsync 每隔三十分鐘同步一次
 
   
 
      下圖為測試 --delete 參數,測試OK展示
      

  

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 終極.凱因斯 的頭像
    終極.凱因斯

    NEIL`s_IT技術學習分享發表Blog

    終極.凱因斯 發表在 痞客邦 留言(0) 人氣()