歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 如何使用bacula備份

如何使用bacula備份

日期:2017/2/28 18:03:24   编辑:Linux教程
手頭有三台機器,為了安全,就打算做一個網絡備份,讓這三台機器互相備份一些重要
文檔。上網逛了一會,發現bacula(www.bacula.org)挺符合自己的要求。
bacula采用模塊化設計,采用c/s構架,理論上可以把任意n台主機的資料備份到任意n台
中,而你不需要在每台機器上都寫一個配置文件控制他們運作,所有主要的工作都在一
台director上控制。登陸上director你就可以知道什麼備份正在運行,什麼備份成功了
,什麼備份失敗了,所有的log也會集中到你指定的地方,讓管理工作更簡單一點。恢復
的時候也很簡單,簡單運行幾個命令你就可以把指定的備份恢復。支持完全備份,差異
備份,增量備份;支持把備份寫到硬盤文件中,也支持寫到磁帶中。支持平台相當多,
設置包括win平台(備份win,還不支持備份到win)。當然也有一些缺點,比如對並發備
份支持未經徹底測試,作者宣稱最好不要嘗試,除非你自己經過測試。還有一點就是文
檔中沒有一個quick start。。。。文檔太詳細了點,沒有點耐心讀不完。。。。
1,前期准備
bacula有三個模塊組成。一個是Director,用於指揮整個系統運行,job schedule,通知
另外兩個模塊工作。一個是Storage Daemon,它是存儲端,負責把網絡中傳來的數據備
份到本機,恢復的時候負責把數據傳出去。最後一個是File Daemon,備份時把文件傳出
,恢復時接受數據並恢復。其實上面的三個模塊並不能讓bacula運行,另外一個模塊是
數據庫模塊。這個模塊可以通過SQLite(編譯進bacula),也可以使用MySql和PostgreS
ql,作者推薦的是mysql。還需要一些第三方庫才能編譯:GZIP和Readline。文檔中沒有
說明,但其實還需要另外一個軟件才能保證正常運行:ntp。因為差異備份和增量備份都
依賴於文件修改時間來決定是否備份。單機備份問題不大,網絡備份就需要考慮各個主
機的時間差異了。所以我推薦所有主機每天運行兩次ntpdate來調准時間。如果你在sjtu
網絡裡面,可以使用dns.sjtu.edu.cn來調校時間。
如果你使用的是磁帶機備份,還需要檢查一下你的磁帶機是否被支持。而且最好去閱讀
文檔中的Understanding Pools, Volumes and Labels一節。否則配置的時候你會搞得暈
乎乎的。
2,編譯
編譯過程很簡單,文檔也很詳細,就不具體介紹了。注意一點是被備份機器上可以使用-
-enable-client-only編譯。
3,數據庫建立
下面說說mysql的建立過程。首先在代碼根目錄中
cd src/cats/
./grant_mysql_privileges
./create_mysql_database
./make_mysql_tables
如果mysql不是在本機上,可以增加-h參數指定。默認采用空密碼的root用戶,可以用-p
參數使其采用密碼驗證。如果要采用其它用戶就只能修改腳本了,很簡單的。
默認建立的bacula用戶,而且是空密碼。推薦還是修改密碼。
bacula可以使用任意多的數據庫,也就是說你可以使用兩個數據庫,然後再讓這兩個數
據庫互相備份。
4,運行File Daemon(fd)
配置前先說明一點需要注意的,配置中指定主機地址時,最好使用ip,我配置時使用主機
名貌似不可以。。。而且要是對外的ip,用127.0.0.1不行
fd運行在被備份主機上。配置相當簡單,指定哪個Director可以運行調度它,密碼是什
麼,fd的名字,工作目錄,log往哪裡發就可以了。修改修改標配就可以了。
Copyright © Linux教程網 All Rights Reserved