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 裡, 就可以排程執行囉 !!