rsync備份套件

rsync Server端設定

安裝rsync

% cd /usr/ports/net/rsync                   //切換至安裝目錄
% make install clean                        //安裝並清除過程中不必要的檔案

設定conf檔

% nano /usr/local/etc/rsync/rsyncd.conf

新增以下備份模組

[web]                                           #模組名稱
comment = backup web Data                       #註解
path = /home/backup                             #備份路徑
auth users = <USER_name>                        #認證帳號(之後要設定於rsyncd.secrets的帳號)
uid = root                                      #以uid來啟動rsync server(備份目錄的擁有者要設定為root)
gid = wheel                                     #以gid來啟動rsync server(備份目錄的群組要設定為wheel)
secrets file = /usr/local/etc/rsyncd.secrets    #密碼檔所在位置
read only = no                                  #是否只允許讀取

編輯密碼檔

% nano /usr/local/etc/rsyncd.secrets

<USER_name>:<PASSWD>
bob:1234
tom:5678

修改密碼檔權限,讓別人無法修改

% chmod 600 /usr/local/etc/rsyncd.secrets

讓rsync開機後自動執行

% nano /etc/rc.conf
rsyncd_enable="YES"             #新增此行

啟動rsync

% service rsyncd start

檢查rsync是否正常執行

% sockstat |grep rsync
root     rsync     97328     4     tcp4     *:873     *:*    # 出現使行代表正常執行

rsync Client端設定

安裝rsync

% cd /usr/ports/net/rsync
% make install clean

備份

上傳Push (由Client端上傳資料至Server端)

語法:% rsync [OPTION...] SRC... [USER@]HOST::DEST

  • OPTION:為參數
  • SRC:來源位置(Client端的資料路徑)
  • DEST:目的位置(Server端的備份模組,須與Server的備份模組名稱相同)

範例:

% rsync -az /usr/home/webbackup user@host::web
  • 將webbackup資料夾上傳至Server的web模組位置
  • 參數a:上傳archive (包括資料夾、檔案)
  • 參數z:上傳壓縮檔

下載Pull (由Server端下載資料至Client端)

語法:% rsync [OPTION...] [USER@]HOST::SRC... [DEST]

  • OPTION:為參數
  • SRC:來源位置(Server端的備份模組,須與Server的備份模組名稱相同)
  • DEST:目的位置(Client端的資料路徑,)

範例:

% rsync -az user@host::web /usr/home/webbackup
  • 將Server的web模組位置下載至webbackup資料夾
  • 參數a:下載archive (包括資料夾、檔案)
  • 參數z:下載壓縮檔

建立密碼檔

  • 以上簡易傳輸,每次皆需要手動輸入密碼
  • 可設定密碼檔,讓系統自行讀取。
    % nano /usr/local/etc/rsyncd.secrets
    password                                //自行設定密碼
    

上傳指令:

% rsync -az --password-file=/usr/local/etc/rsyncd.secrets /usr/home/webbackup user@host::web

下唄指令:

% rsync -az --password-file=/usr/local/etc/rsyncd.secrets user@host::web /usr/home/webbackup

results matching ""

    No results matching ""