- 1. 安卓批量安裝卸載備份恢復(fù)手機軟件 安卓軟件管家 v...
- 2. Sql數(shù)據(jù)庫自動備份恢復(fù)助手(擁有友好的操作界面) ...
- 3. D8系統(tǒng)備份恢復(fù)專家(全面支持win xp,win 7和vista系...
- 4. 小哨兵一鍵恢復(fù)(新一代安全快速的系統(tǒng)備份恢復(fù)工具...
- 5. UC保險箱S60V3(手機備份恢復(fù)工具) V1.0.0.1 簡體中...
- 6. UC保險箱塞班第五版(手機備份恢復(fù)工具) V1.0.0.1 簡...
- 7. FBackup(簡單好用的文件備份恢復(fù)工具) V4.6.253 多...
- 8. ERUNTgui(注冊表備份恢復(fù)工具)免費下載 V1.2.6
- 9. 雨過天晴電腦保護系統(tǒng)(極速電腦備份恢復(fù)軟件) V1...
- 10. 磁盤分區(qū)備份恢復(fù)軟件(OneKey Ghost) V6.5 中文免...
利用bacula完成數(shù)據(jù)的備份恢復(fù)
一、bacula概述
1.bacula的組件
bacula,被譽為開源軟件中最好的備份還原軟件,它提供了企業(yè)級的客戶機/服務(wù)器的備份解決方案,能夠通過網(wǎng)絡(luò)來管理文件的備份,恢復(fù)和核實工作.既有Windows版本的,也有Linux,Unix的.
一個完整的bacula備份系統(tǒng),由以下五個主要部分或服務(wù)組成:
Directory: 管理所有備份,恢復(fù),驗證,和存檔事務(wù),定制備份和恢復(fù)文件的計劃.
Storge: 指定進行存儲和恢復(fù)文件屬性和數(shù)據(jù)的物理備份媒介.
File: 安裝在被備份機器上的程序,將被directory調(diào)用時候,它提供關(guān)于自己的操作系統(tǒng)、文件屬性、數(shù)據(jù)等資料.
Console: 管理控制臺,與directory進行通訊.
Catalog: 負(fù)責(zé)維護所有備份文件的索引和數(shù)據(jù)庫.Catalog服務(wù)允許系統(tǒng)管理員或用戶能夠快速地找到并恢復(fù)任何需要的檔案。catalog服務(wù)是Bacula和簡單的tar,bru備份命令的主要區(qū)別,因為catalog維護所有Volume使用情況的記錄,所有任務(wù)的運行情況,和所有檔案的保存情況,允許有效的恢復(fù)和Volume管理。 Bacula目前支持的三個數(shù)據(jù)庫(postgresql、mysql、sqlite),在安裝Bacula時,必須選擇其中之一。
Monitor: 監(jiān)控directory、file、storage的守護進程
bacula各個組成部分的關(guān)聯(lián)性
2. 部署結(jié)構(gòu)
主機名 ip地址 應(yīng)用角色 OS
baculaserver 192.168.32.30 Director、SD、Console rhel5.5
baculaclient 192.168.32.31 FD rhel5.5
二、安裝
1.bacula服務(wù)器端安裝和初始化
1.1. bacula軟件安裝
[root@baculaserver ~]# tar -zxf bacula-5.0.1.tar.gz
[root@baculaserver ~]# cd bacula-5.0.1
[root@baculaserver bacula-5.0.1]# ./configure --prefix=/usr/local/bacula --with-mysql
#指定安裝路徑和所用數(shù)據(jù)庫
[root@baculaserver bacula-5.0.1]# make && make install
1.2 MySQL數(shù)據(jù)庫初始化
[root@baculaserver ~]# cd /usr/local/bacula/etc
[root@baculaserver etc]# ./grant_mysql_privileges
[root@baculaserver etc]# ./create_mysql_database
[root@baculaserver etc]# ./make_mysql_tables
#在執(zhí)行上面三行mysql初始化時,默認(rèn)由數(shù)據(jù)庫管理員root執(zhí)行,因此可能需要輸入root密碼或設(shè)置root密碼為空。
2.bacula客戶端安裝
[root@baculaclient ~]# tar -zxf bacula-5.0.1.tar.gz
[root@baculaclient ~]# cd bacula-5.0.1
[root@baculaclient bacula-5.0.1]# ./configure --prefix=/usr/local/bacula --enable-client-only
#指定安裝路徑,和只安裝客戶端組件
[root@baculaclient bacula-5.0.1]# make && make install
三、bacula的配置
1. bacula的console端配置(bconsole.conf)
[root@baculaserver etc]# vim bconsole.conf
# Bacula User Agent (or Console) Configuration File
#
Director {
Name = 2012-02-15-dir #主控臺名稱,自定義,要求與bacula-dir.conf中定義相同
DIRport = 9101 #控制臺服務(wù)器端口
address = 192.168.32.30 #控制臺服務(wù)器IP,不要用localhost
Password = "xgjYPXCfgFT6ZS/9tQQTtfrFZ90CFFfIcj+qDKm8FpO0" #控制臺密碼
}
2. bacula的Director端配置(bacula-dir.conf)
2.1 bacula-dir.conf的組成
bacula-dir.conf是Director端的配置文件,也是bacula的核心配置文件,該文件由以下10個邏輯端組成:
Director:定義全局設(shè)置
Catalog:定義后臺數(shù)據(jù)庫
Jobdefs:定義默認(rèn)執(zhí)行任務(wù)
Job:自定義一個備份或恢復(fù)任務(wù)
Fileset:定義備份哪些數(shù)據(jù),不備份哪些數(shù)據(jù)
Schedule:定義備份時間策略
Pool:定義供Job使用的池屬性
Client:定義要備份的客戶端
Storage:定義數(shù)據(jù)的存儲方式
Messages:定義發(fā)送日志報告和日志的記錄
2.2 bacula-dir.conf配置
[root@baculaserver etc]# vim bacula-dir.conf
Director { #控制臺的全局配置
Name = 2012-02-15-dir #定義控制臺名稱,要與sd、fa的Director相同
DIRport = 9101 # Director的服務(wù)端口
QueryFile = "/usr/local/bacula/etc/query.sql"
WorkingDirectory = "/usr/local/bacula/var/bacula/working"
PidDirectory = "/var/run"
Maximum Concurrent Jobs = 1 #一次能處理的最大并發(fā)數(shù)
Password = "xgjYPXCfgFT6ZS/9tQQTtfrFZ90CFFfIcj+qDKm8FpO0" #控制臺密碼,要與bconsole.conf中Director密碼相同
Messages = Daemon #日志輸出方式,“Daemon”在下面Messages邏輯段中定義
}
#JobDefs { #JobDefs類似一個模板,并不是真正創(chuàng)建一個任務(wù),只為Job提供一個默認(rèn)的配置,當(dāng)前Job明確定義的任何值,將會覆蓋沖突的JobDefs值.
# Name = "DefaultJob"
# Type = Backup
# Level = Incremental
# Client = 2012-02-15-fd
# FileSet = "Full Set"
# Schedule = "WeeklyCycle"
# Storage = File
# Messages = Standard
# Pool = File
# Priority = 10
# Write Bootstrap = "/usr/local/bacula/var/bacula/working/%c.bsr"
#}
Job { #備份任務(wù),注意注釋標(biāo)號,可按照該標(biāo)號與后面各邏輯端定義相對應(yīng)
Name = webjob #備份job的名字,這個可以隨便起,在后面的備份操作的時候可以看到
Type= backup #可用類型有backup,restore,verify,admin
Client= 2012-02-15-fd #1.要備份的客戶端,“2012-02-15-fd”在后面的Client邏輯段定義
FileSet = dbfs #2.要備份的客戶端數(shù)據(jù),“dbfs”在后面的FileSet邏輯段定義
schedule = dbscd #3.備份任務(wù)的執(zhí)行時間策略,“dbscd”在后面的Schedule邏輯段定義
Storage = dbsd #4.備份數(shù)據(jù)的存儲介質(zhì)和路徑,“dbsd”在后面的Storage邏輯段定義
Messages = Daemon
Pool = dbpool #5.pool屬性,“dbpool”在后面的Pool邏輯段定義
Level = Incremental #備份類型,可用的值是FULL(完全備份),incremental(增量備份),differential(差異備份),如第一次沒做完全備份,則先進行完全備份后再執(zhí)行Incremental
Priority = 10 #優(yōu)先級
Write Bootstrap = "/usr/local/bacula/var/bacula/working/%c.bsr" #指定備份的引導(dǎo)信息路徑
}
#Job { #定義一個Catalog備份任務(wù),確保控制端備份數(shù)據(jù)庫的安全
# Name = "BackupCatalog"
# JobDefs = "DefaultJob"
# Level = Full
# FileSet="Catalog"
# Schedule = "WeeklyCycleAfterBackup"
# # This creates an ASCII copy of the catalog
# # Arguments to make_catalog_backup.pl are:
# # make_catalog_backup.pl <catalog-name>
# RunBeforeJob = "/usr/local/bacula/etc/make_catalog_backup.pl MyCatalog"
# # This deletes the copy of the catalog
# RunAfterJob = "/usr/local/bacula/etc/delete_catalog_backup"
# Write Bootstrap = "/usr/local/bacula/var/bacula/working/%n.bsr"
# Priority = 11 # run after main backup
#}
Job { #定義一個還原任務(wù)
Name = "Restoreweb"
Type = Restore
Client=2012-02-15-fd
FileSet="dbfs"
Storage = dbsd
Pool = dbpool
Messages = Standard
Where = /home/bacula #指定默認(rèn)恢復(fù)數(shù)據(jù)到這個路徑,注意:還原客戶端數(shù)據(jù)時,默認(rèn)會將數(shù)據(jù)存放在客戶端/home/bacula下。