Archive for the '備份相關' category

使用rsync進行備分

ilmare| May 4, 2007 11:15 am

備份資料是很重要的事情,因為永遠不知道硬碟什麼時候會壞掉,就算有了SMART(Self-Monitoring Analysis and Reporting Technology)技術,還是不能保證硬碟什麼時候一定壞,至於為何選用rsync?因為需求為可以透過網路,快速且安全。以下是在Fedora的系統運作的。

  • 安裝方法
  • 先透過rpm指令檢查是否已經安裝
    rpm -qa | grep rsync
    若無安裝,直接用yum進行安裝即可
    yum install rsync

  • 規劃rsync server
  • 以下是需要規劃的部分:
    1. 使用那個目錄做為備份的區域
    2. 編輯設定檔

    rsync server的設定檔預設是/etc/rsyncd.conf

    [mypc]
    path = /my_backup
    auth users = mypc_backup
    uid = root
    gid = root
    secrets file = /etc/rsyncd.secrets
    read only = no

    [mypc] -> 預備份的主機名稱,自己看的懂就好
    path -> 在備份主機的那個目錄下放置備份的檔案
    auth users -> 用來認證用的帳號名稱
    secrets file -> 存放認證用的帳號名稱與密碼檔的位置

    密碼檔/etc/rsyncd.secrets的格式如下:

    mypc_backup:my_passwd

    my_passwd需自行更換成自己要的

    權限部分,請讓/etc/rsyncd.conf與/etc/rsyncd.secrets的owner與group都是root。
    檔案權限需為600

    chown root.root /etc/rsyncd.conf /etc/rsyncd.secrets
    chmod 600 /etc/rsyncd.conf /etc/rsyncd.secrets

  • 啟動rsync
  • 在Fedora的套件裡,rsync是由xinetd來管理啟動的,因此啟動設定檔為/etc/xinetd.d/rsync
    service rsync
    {
    disable = no
    socket_type = stream
    wait = no
    user = root
    server = /usr/bin/rsync
    server_args = --daemon
    log_on_failure += USERID
    }

    要注意的地方有兩處,disable = no,這樣才會啟動rsync,
    另外server_args= –daemon,我們要rsync執行於daemon模式下。
    之後請下指令重新啟動xinetd。
    service xinetd restart

  • Client端的設定
  • 在Client端,大致有三個東西要作,設定密碼檔,執行rsync,寫入自動排程。

    首先自訂一個密碼檔,例如叫做/root/rsyncd.secrets
    內容只需放入server那邊設定的密碼即可,如
    my_passwd
    同樣的/root/rsyncd.secrets的權限也需要是600。

    接著就可以使用rsync指令來測試拉,
    rsync -rvlHpogDtS --password-file=/root/rsyncd.secrets
    /backup_dir mypc_backup@server::mypc

    –password-file -> 密碼檔的位置
    /backup_dir -> Client端要備份的目錄
    mypc_backup -> 登入rsync Server的帳號,請與Server設定一致。
    server -> 因為是透過網路,因此這邊要寫可以連上Server的hostname或是簡名(/etc/hosts中有設定的)
    mypc -> 使用Server端的哪一個備份的設定區塊,這邊需與Server端一致
    -rvlHpogDtS -> 設定的flag,解說如下
    r -> 遞迴的進入每個子目錄,表示你所設定備份目錄之下的所有子目錄都會被備份到
    v -> 顯示執行過程的訊息
    l -> 如果檔案是link模式,也一併拷貝link
    H -> 若檔案為hard link,就保持原本的模式
    p -> 保持原本檔案的權限
    o -> 保持原本檔案的擁有者權限
    g -> 保持原本檔案的group群組
    D -> 保持device的屬性 (root only)
    t -> 保持檔案時間的設定
    S -> 有效的處理稀疏的檔案結構

    參考文獻:
    1. OLS3 的備份的方法 3 : 使用 rsync
    2. rsyncd.conf 手冊
    3. rsync指令手冊