• rsync 異地備份簡單分享

    by  • 2009/07/09 • linux • 2 Comments

    rsync 是一套備份的軟體, 透過簡單的幾個設定, 就可以把檔案

    從主機 A 備份到主機 B 去 ~~ 如果主機 A B 各在不同的地方,

    也就成了所謂的 “異地備份" 囉 ~~ 以下就來簡單的分享一下 ~~

    rsync 還是有 server 與 client 之分,

    server 端就是你要儲存 client 端資料的備份主機 ~~

    client 就是要把資料備份到 server 上去的那一端囉 ~~ (這不是多講的嗎!!)

    那首先就是先上 server 端的 rsync 啟用囉 ~~

    vi /etc/xinetd.d/rsync

    將 disable = yes 改成 no 囉 ~~ 存檔 ~

    #service xinetd restart

    這樣就把 rsync 啟動囉 ~~ 簡單吧 ~~

    起動之後呢在 /etc/ 建立一個 rsync.conf 的檔案 ~~ 這是要建立任務喔 ~~

    [mysqlbak] #建立一個名為 mysqlbak 的任務
    path = /backup/mysql #要將檔案備份到 /backup/mysql
    auth users = infoart-backup #使用者名稱(自己取, 高興就好)
    uid = root # 要用那一個 uid 及 gid 來執行
    gid = root
    secrets file = /etc/rsyncd.secrets # 密碼檔, 你可以在這裡面設定好你的密碼
    read only = no

    建好後存檔囉 ~~ 再來就是剛剛提到的密碼檔

    vi /etc/rsyncd.secrets

    內容就只要寫你的密碼就可以了 ~~

    password

    存檔 ~~

    chmod 600 /etc/rsyncd.secrets <--- 這個動作很重要, 不然 rsync 是不理會這個檔的喔 ~~

    到這邊, rsync 的 server 就建好了 ~~ 再來就是 client 端 ~~

    一樣在client 端的 /etc/ 建一個 rsyncd.secrets, 內容要跟上面的一樣喔 ~~如 password

    建好後記得 chmod 600 /etc/rsyncd.secrets 喔 ~~ 這樣 client 就好了 ~~

    開始備份囉 ~~

    /usr/bin/rsync -vzrtopg --progress --password-file=/etc/rsyncd.secrets \
    /backup infoart[email protected]::mysqlbak

    以上是說, 要將 client /backup 裡的東西 rsync 到 server 上去 ~

    building file list ...
    10 files to consider
    sent 175 bytes received 12 bytes 124.67 bytes/sec
    total size is 219334815 speedup is 1172913.45

    會看到類似這樣的畫面, 就表示備份完成囉 ~~

    就把上面的指令加到 crontab 裡, 就可以排程執行囉 !!

    • 很棒的教學~
      又學了一課…^^

    • 這個軟體真的蠻好用的 !! 尤其用在異地備份 !!