如何使用bacula備份
2024-08-28 00:08:15
供稿:網(wǎng)友
手頭有三臺(tái)機(jī)器,為了安全,就打算做一個(gè)網(wǎng)絡(luò)備份,讓這三臺(tái)機(jī)器互相備份一些重要
文檔。上網(wǎng)逛了一會(huì),發(fā)現(xiàn)bacula(www.bacula.org)挺符合自己的要求。
bacula采用模塊化設(shè)計(jì),采用c/s構(gòu)架,理論上可以把任意n臺(tái)主機(jī)的資料備份到任意n臺(tái)
中,而你不需要在每臺(tái)機(jī)器上都寫一個(gè)配置文件控制他們運(yùn)作,所有主要的工作都在一
臺(tái)director上控制。登陸上director你就可以知道什么備份正在運(yùn)行,什么備份成功了
,什么備份失敗了,所有的log也會(huì)集中到你指定的地方,讓管理工作更簡(jiǎn)單一點(diǎn)。恢復(fù)
的時(shí)候也很簡(jiǎn)單,簡(jiǎn)單運(yùn)行幾個(gè)命令你就可以把指定的備份恢復(fù)。支持完全備份,差異
備份,增量備份;支持把備份寫到硬盤文件中,也支持寫到磁帶中。支持平臺(tái)相當(dāng)多,
設(shè)置包括win平臺(tái)(備份win,還不支持備份到win)。當(dāng)然也有一些缺點(diǎn),比如對(duì)并發(fā)備
份支持未經(jīng)徹底測(cè)試,作者宣稱最好不要嘗試,除非你自己經(jīng)過(guò)測(cè)試。還有一點(diǎn)就是文
檔中沒(méi)有一個(gè)quick start。。。。文檔太詳細(xì)了點(diǎn),沒(méi)有點(diǎn)耐心讀不完。。。。
1,前期準(zhǔn)備
bacula有三個(gè)模塊組成。一個(gè)是Director,用于指揮整個(gè)系統(tǒng)運(yùn)行,job schedule,通知
另外兩個(gè)模塊工作。一個(gè)是Storage Daemon,它是存儲(chǔ)端,負(fù)責(zé)把網(wǎng)絡(luò)中傳來(lái)的數(shù)據(jù)備
份到本機(jī),恢復(fù)的時(shí)候負(fù)責(zé)把數(shù)據(jù)傳出去。最后一個(gè)是File Daemon,備份時(shí)把文件傳出
,恢復(fù)時(shí)接受數(shù)據(jù)并恢復(fù)。其實(shí)上面的三個(gè)模塊并不能讓bacula運(yùn)行,另外一個(gè)模塊是
數(shù)據(jù)庫(kù)模塊。這個(gè)模塊可以通過(guò)SQLite(編譯進(jìn)bacula),也可以使用MySql和PostgreS
ql,作者推薦的是mysql。還需要一些第三方庫(kù)才能編譯:GZIP和Readline。文檔中沒(méi)有
說(shuō)明,但其實(shí)還需要另外一個(gè)軟件才能保證正常運(yùn)行:ntp。因?yàn)椴町悅浞莺驮隽總浞荻?BR>依賴于文件修改時(shí)間來(lái)決定是否備份。單機(jī)備份問(wèn)題不大,網(wǎng)絡(luò)備份就需要考慮各個(gè)主
機(jī)的時(shí)間差異了。所以我推薦所有主機(jī)每天運(yùn)行兩次ntpdate來(lái)調(diào)準(zhǔn)時(shí)間。如果你在sjtu
網(wǎng)絡(luò)里面,可以使用dns.sjtu.edu.cn來(lái)調(diào)校時(shí)間。
如果你使用的是磁帶機(jī)備份,還需要檢查一下你的磁帶機(jī)是否被支持。而且最好去閱讀
文檔中的Understanding Pools, Volumes and Labels一節(jié)。否則配置的時(shí)候你會(huì)搞得暈
乎乎的。
2,編譯
編譯過(guò)程很簡(jiǎn)單,文檔也很詳細(xì),就不具體介紹了。注意一點(diǎn)是被備份機(jī)器上可以使用-
-enable-client-only編譯。
3,數(shù)據(jù)庫(kù)建立
下面說(shuō)說(shuō)mysql的建立過(guò)程。首先在代碼根目錄中
cd src/cats/
./grant_mysql_privileges
./create_mysql_database
./make_mysql_tables
如果mysql不是在本機(jī)上,可以增加-h參數(shù)指定。默認(rèn)采用空密碼的root用戶,可以用-p
參數(shù)使其采用密碼驗(yàn)證。如果要采用其它用戶就只能修改腳本了,很簡(jiǎn)單的。