bacula,被譽為開源軟體中最好的備份還原軟體,它提供了企業級的客戶機/伺服器的備份解決方案,能夠通過網路來管理檔案的備份,恢復和核實工作。bacula,既有windows版本的,也有linux,unix的。但目前有關於其使用的文章是在太少,而且介紹的很不詳細,今天,我就來和大家一起**一下。(最新版本2.4.3主頁[url]
一,bacula的模型
為了部署bacula,應該了解它的主要元件。
控制器是協調備份,恢復和校驗操作的守護程序。使用者可以通過控制台向控制守護程序提交任務。控制台不一定非要和控制守護程序在同一臺機器上,可以分離。
儲存守護程序是用來寫入備份資料或者讀取備份資料的。它必須安裝在提供儲存的機器上。也就是安裝了磁帶機或者要將備份存放的伺服器上。它和控制守護程序可以分離,不一定要安裝在一起。
檔案守護程序安裝在每台需要備份資料的系統上。比如,你想備份網路中的某台檔案伺服器上的資料,那麼,你就應該將檔案守護程序安裝在此台伺服器上。
編目是乙個資料庫,它儲存所有備份的每個檔案和卷的資訊。所以,它需要資料庫軟體的支援,現在bacula支援mysql,postgresql和sqlite。
二,設定
試驗環境如下:有兩台linux主機,
一台主機名為rhel5(以下簡稱server),ip為192.168.0.5,系統為rhel 5.1,角色為備份伺服器兼儲存伺服器(另掛一塊磁碟到/tmp/test/下作為儲存)
另一台主機名為client。ip是192.168.0.6,系統是rhel5.1,角色為需要備份的主機(這裡我們以/boot為要備份還原的目錄)
準備工作:在server上安裝mysql和gcc環境(bacula編譯需要gcc),並啟動mysql
在client上只需安裝gcc環境
配置伺服器server:
1, 解壓編譯安裝bacula:
然後是make和make install
預設情況,bacula安裝在/etc/bacula/目錄下
2,建立mysql指令碼
bacula已經為我們建好了指令碼,直接執行就ok,一共3個。如果不執行,後面9101埠是起不來的。
3,修改配置
作為儲存伺服器兼控制台,現在需要依次對bacula-dir.conf(管全域性)bacula.sd.conf(管儲存)和bconsole.conf(管控制台)配置檔案進行修改。
bacula-dir.conf是最複雜的乙個檔案,它一共有10個邏輯段:
director(定義全域性),
catalog(定義日誌),
jobdefs(定義備份的預設值),
job(定義特定操作),
fileset(定義備份哪些區域不備份哪些區域),
schedule(定義備份時間),
pool(定義備份介質),
client(定義要備份的主機),
storage(定義如何儲存)
messages(定義如何處理訊息)
因為此檔案比較複雜,所以我把我配置好的檔案直接貼出來,一些特別重要的地方咱們拿出來討論
director
jobdefs
job
job
job
fileset
file = /boot # 備份的範圍,這裡我根據需要只備份了/boot分割槽,如果要備份其他可加入相應路徑 }
exclude }
schedule
schedule
fileset
file = /var/bacula/working/bacula.sql }
} client
client
storage
catalog
messages
messages
pool
pool
console
第二個檔案bacula-sd.conf
storage
director
director
device
messages
最後乙個檔案bconsole.conf
director
現在啟動程序
終於配置完畢,但還有關鍵的一步,新增儲存介質
黃色的是要輸入的部分。現在就已經進入到控制台了。
配置客戶機(需要備份的client):
1,編譯安裝bacula
然後make和make install
預設安裝在/etc/bacula/目錄下
1,改配置檔案bacula-fd.conf
director
director
filedaemon
messages
客戶端相對配置較簡單。改這乙個檔案就行了。
然後啟動程序
三,驗證
經過了艱苦的工作,現在到了享受結果的時候了(呵呵,這個東東我已經弄了3天了,痛苦呀)
咱們現在先備份client下的/boot目錄吧
在server上
接著 可以通過status檢視狀態
呵呵,看見ok了嗎,備份成功了喲
接下來咱們來做還原,首先咱們把client上的/boot中的檔案刪除掉
現在回到server上來還原(還是在控制台)
顯示如下提示
接著標記要還原內容,並且執行
這個地方注意一下,如果要還原到client原位置則按以下步驟
現在再回到client下看看
哈哈,看見了吧,剛才刪掉的檔案現在全部回來了
四,最後
因為手頭上沒有現成的資料,加上本人英語水平有限,有不足的地方還請大家諒解。
Bacula(4)簡單配置使用
quick start 安裝完成後自帶的配置檔案其實就可以使用,裡面為我們提供了乙個簡單的備份示例,先來看一下各個配置間的關係。jobdefs 定義了乙個通用的備份任務 job 定義備份任務,並且可以引用jobdefs定義的通用任務 schedule 備份任務的計畫時間表 fileset 備份的檔案...
使用Keepalived實現linux高可用集群
apt install libipset dev keepalived yuseradd s usr sbin nologin m g root keepalived scriptvim etc sysctl.conf 在末尾追加一行 net.ipv4.ip nonlocal bind 1vim e...
linux使用crontab實現PHP執行定時任務
首先說說cron,它是乙個linux下的定時執行工具。根使用者以外的使用者可以使用 crontab 工具來配置 cron 任務。所有使用者定義的 crontab 都被儲存在 var spool cron 目錄中,並使用建立它們的使用者身份來執行。要以某使用者身份建立乙個 crontab 專案,登入為...