Centos7.4 配置bacula备份系统

bacula服务端配置地址:
https://blog.csdn.net/weixin_42572352/article/details/105686788

配置Bacula备份系统:

主机名与操作系统名称 应用角色
baculaServer——Centos7.4 Director、SD、Console
baculaClient——Centos7.4 FD

Centos7.4 配置bacula备份系统

配置一个bacula备份系统,其实就是对Director端文件bacula-dir.conf、SD配置文件bacula-sd.conf、 FD配置文件bacula-fd.conf以及Console端配置文件bconsole.conf进行配置的过程。

根据上面的部署情况:将Director、SD、Console端集中在一台服务器上也就是上图的:bacula server
将FD端部署在bacula Client

配置如下:
1/针对Console端配置:配置文件名bconsole.conf (注意、注意在bacula server服务端进行设置)

本博主配置文件在:/opt/bacula/etc/bconsole.conf

Director {
Name = server-dir
DIRport = 9101
address = 192.168.88.132
Password = “yZnwKl2uRHK9SHaRfKMKtaZ32PoB71UtNxFV/qj3X26a”
}

以上参数解释:
Name #控制端名称,在下面的bacula-dir.conf和bacula-sd.conf,在文件中会被引用
DIRport #控制端服务器端口
address #控制端服务器IP地址
Password #控制端密码文件

2/针对Director端配置:配置文件名bacula-dir.conf (注意、注意在bacula Server服务端进行配置)

本博主配置文件在:

/opt/bacula/etc/bacula-dir.conf

此文件是bacula的核心配置文件,这个文件非常复杂,共分为10个逻辑段,分别是:
Director:定义全局设置
Catalog:定义后台数据库
Jobdefs:定义默认执行任务
Job: 自定义一个备份或者恢复任务
Fileset: 定义备份那些数据,不备份那些数据
Schedule:定义备份时间策略
Pool: 定义供Job使用的池属性
Client: 定义要备份的主机地址
Storage: 定义数据存储方式
Messages: 定义发送日志报告和记录日志的位置

逻辑段1,配置代码:
Director {
Name = server-dir
DIRport = 9101
QueryFile = “/opt/bacula/etc/query.sql”
WorkingDirectory = “/opt/bacula/working”
PidDirectory = “/var/run”
Maximum Concurrent Jobs = 20
Password = “yZnwKl2uRHK9SHaRfKMKtaZ32PoB71UtNxFV/qj3X26a”
Messages = Daemon
}
以上参数挑几个重点来解释下:
Director:定义bacula的全局配置
DIRport:定义Director的监听端口
Maximum Concurrent Jobs:定义一次处理的最大并发数
Password:验证密码,这个密码必须与bconsole.conf文件中对应的Director逻辑段密码相同
Messages:定义日志输出方式,“Daemon”在下面的Messages逻辑段中进行了定义

————————————————————————————————————————————————————————
逻辑段2,配置代码:
Catalog {
Name = MyCatalog
dbname = “bacula”; dbuser = “bacula”; dbpassword = “”
}
以上参数解释如下:
Catalog:逻辑段用来定义关于日志和数据库设定
dbname:指定库名、用户名和密码

—————————————————————————————————————————————————————————
逻辑段3,配置代码:
JobDefs {
Name = “DefaultJob”
Type = Backup
Level = Incremental
Client = client-fd
FileSet = “Full Set”
Schedule = “WeeklyCycle”
Storage = File1
Messages = Standard
Pool = File
SpoolAttributes = yes
Priority = 10
Write Bootstrap = “/opt/bacula/working/%c.bsr”
}
以上参数解释如下:
Name =“DefaultJob” #指定 Job{}名称
Type =Backup #Job 类型,定义备份作业或还原作业。取值有 Backup、Restore、Verify 和 Admin。
#Level =Incremental #备份类型,当 type 参数为备份作业时,取值有 Full、Incremental 和 Differential;还原作业不需要设置此选项;当 type 参数为 Verify 作业时,取值有 InitCatalog、Catalog、VolumeToCatalog 和 DiskToCatalog。
Client = saas-fd #引用 Client{}的 Name 值,也就是选择需要备份的客户端
Fileset = “Full Set” #引用 FlieSet{}的 Name 值,也就是选择客户端需要备份的目录及文件。
Schedule = “schedule” #引用 Schedule{}的 Name 值,设置作业执行的时间周期,可选。如果没有指定,此任务必须手动执行。
Storage = saas-sd #引用 Storage{}的 Name 值,选择执行 Job 时的存储端。
Messages =Standard #引用 Messages{}的 Name 值
Pool = Default #引用 Pool{}的 Name 值
Write Bootstrap= “/usr/local/bacula/working/Client1.bsr” #Type=Backup 当执行备份作业是,将作业记录写入到一个引导文件。此参数只用于Job 类型为Backup 时,此时必选。

—————————————————————————————————————————————————————————
逻辑段4,配置代码如下:
Job { #定义一个备份任务
Name = “Client1” #备份名称
client = dbfd #指定要备份的客户段主机,dbfd咋后面Client逻辑段中进行定义
Level = Incremental
#定义备份的级别,Incremental,为增量备份,Level的取值可为Full(完全备份)、Incremental(增量备份)和Differential(差异备份),
如果第一次没做完全备份,则先进行完全备份后在执行Incremental
Type = Backup #定义Job的类型,backup为备份任务,可选的类型还有restore和verify等
FileSet = dbfs #指定要备份的就客户端数据,dbfs在后面Fileset逻辑段中进行定义
Schedule = dbscd #指定这个备份任务的执行时间策略,dbscd在后面的schedule逻辑段中进行定义
}
Job { #定义一个名为BackupCatalog的完全备份任务
Name = “BackupCatalog”
JobDefs = “DefaultJob”
Level = Full
FileSet=“Catalog”
Schedule = “WeeklyCycleAfterBackup”
RunBeforeJob = “/opt/bacula/etc/make_catalog_backup.pl MyCatalog”
RunAfterJob = “/opt/bacula/etc/delete_catalog_backup”
Write Bootstrap = “/opt/bacula/working/%n.bsr”
Priority = 11 # run after main backup
}
Job {
Name = “RestoreFiles”
Type = Restore
Client=client-fd
Storage = File1
FileSet=“Full Set”
Pool = File
Messages = Standard
Where = /tmp/bacula-restores
}