http://media.ttes.ntct.edu.tw/blog/?p=1274
一年多前我曾經發表以下文件記錄:
如今FreeNas已經更新版本至0.69版了!介面更為美觀、功能性也提昇許多。
其中關於rsync服務的設定方式也有一些些小改變,所以再次的將 rsync
服務設定方式整理一遍。什麼是rsync呢?它有何用途呢?簡單的說:它是異地或本機自動化差異性備份。詳細的說明如下:
備份的方法 3 : 使用 rsync (全自動網路備份法) by OLS3
(ols3@www.tnc.edu.tw) 2002/10/18
草屯國小目前擁有各種的數位資料:學校資訊網、網路相簿
gallery、影音平台osTube、線上學習moodle、學務系統sfs3、還有使用 samba
提供各處室公用網路磁碟空間、教師個人網路磁碟空間、學生個人網路磁碟空間、FTP服務……等等,隨著歲月增加,數位檔案也隨之累積到相當可觀的數量、磁
碟檔案大小也變得十分龐大,這時如果沒有做好數位檔案的備份處置,只要server主機的硬碟一故障,全校資訊網頁、教師、學生數位檔案多年的心血將付之
一炬,後果之慘烈實在不堪設想,所以做好數位資料的備份工作是學校的資訊老師、組長重要且必要的職責之一。
至於server主機裡的數位檔案應該如何備份呢?Linux系統中常以 tar
的指令對系統檔案做打包壓縮的備份處理,但是如果這一台主機負責的是大量數位檔案的儲存,例如:網路相簿、網路影音、全校教師數位資料檔…使用tar
的指令將系統裡全部的數位檔打包備份,就備份的時間、空間而言就會顯得效率不足、不夠經濟。
所以用 rsync
的備份方法就可以改善以上的問題,每次執行備份時,Linux主機系統不需花費太多的時間將所有的數位資料檔案做打包備份處理,而是和既有的檔案資料比
對,只做差異性的備份,並且可以做到異機、異地的備份策略。
步驟:
(一)FreeNAS主機 作為 rsync server
1.於FreeNAS主機管理介面在『存取權限』–>『使用者/群組』新增一位『 rsync
』的使用者(使用者名稱可以自訂)。
![2009-02-08_010238 2009-02-08_010238](http://media.ttes.ntct.edu.tw/blog/wp-content/uploads/2009/02/2009-02-08_010238.jpg)
![1 1](http://media.ttes.ntct.edu.tw/blog/wp-content/uploads/2009/02/1.jpg)
2.在『服務』–>『RSYNC’–>『伺服器』–>『設定』裡,啟動FreeNAS的
RSYNCD伺服器端 服務,『對應到本地使用者』選擇『rsync’。
![2009-02-08_011035 2009-02-08_011035](http://media.ttes.ntct.edu.tw/blog/wp-content/uploads/2009/02/2009-02-08_011035.jpg)
3.先新增FreeNas主機 備份目的地的資料夾,在『進階』–>『命令列』輸入以下指令:
# mkdir /mnt/share/media/mysql
說明:
- /mnt/share
是FreeNas存放資料檔案的掛載目錄位置。
- /media
是我已經建立的主機名稱目錄,因為我有許多台主機。
- /mysql 是備份目的地的資料夾。
- 我想備份media主機的mysql檔案到FreeNas的/mnt/share/media/mysql 資料夾
![2009-02-08_155139 2009-02-08_155139](http://media.ttes.ntct.edu.tw/blog/wp-content/uploads/2009/02/2009-02-08_155139.jpg)
4.將新增的備份目的地資料夾
/mysql 的擁有者權限設定給『rsync’使用者,在『進階』–>『命令列』輸入以下指令:
# chown rsync /mnt/share/media/mysql
![2009-02-08_171643 2009-02-08_171643](http://media.ttes.ntct.edu.tw/blog/wp-content/uploads/2009/02/2009-02-08_171643.jpg)
5.回到『服務』–>『RSYNC’–>『伺服器』–>『模組』裡增加一個新的模組設定。
![2009-02-08_174613 2009-02-08_174613](http://media.ttes.ntct.edu.tw/blog/wp-content/uploads/2009/02/2009-02-08_174613.jpg)
![2009-02-08_180009 2009-02-08_180009](http://media.ttes.ntct.edu.tw/blog/wp-content/uploads/2009/02/2009-02-08_180009.jpg)
『User ID 』、『Group ID 』分別填入『rsync’ 和 『 admin’
![2009-02-08_181129 2009-02-08_181129](http://media.ttes.ntct.edu.tw/blog/wp-content/uploads/2009/02/2009-02-08_181129.jpg)
設定完成,儲存並套用。
以上FreeNas主機部分的rsync 服務設定完成。
.
(二)media主機 作為 rsync client
media主機為Ubuntu 8.04 系統,想要將這一台主機的檔案目錄 /backup/mysql 資料夾內的所有檔案備份到FreeNas主機的/mnt/share/media/mysql
目錄裡。
1.media主機必須先安裝好
rsync 服務。安裝 rsync的指令:
# apt-get install rsync
2.執行rsync 同步指令,開始進行同步備份。
media:~#/usr/bin/rsync -rvlHpogDtS –delete /backup/mysql/ rsync@163.22.xxx.xxx::share10
rsync 指令說明:
- -rvlHpogDtS 參數
- –delete 刪除傳送端已經不存在,而目的端存在的檔案
- /backup/mysql/ 要備份的資料來源
- rsync@163.22.xxx.xxx::share10
透過FreeNas的『rsync’這個帳號,連結FreeNas的RSYNC服務『share10』模組設定值。
3.將這個執行命令加入crontab 定時執行同步備份。
# crontab -e
20 5 * * * /usr/bin/rsync -rvlHpogDtS –delete /backup/mysql/
rsync@163.22.xxx.xxx::share10
每天AM5:20 執行同步備份。
可以在 『診斷』–>『記錄檔』–>『RSYNC’裡檢視是否有成功執行備份工作的記錄。
![2009-02-08_185126 2009-02-08_185126](http://media.ttes.ntct.edu.tw/blog/wp-content/uploads/2009/02/2009-02-08_185126.jpg)
以上設定全部完成。