服务器备份工具–Bacula安装与配置(二)

服务器备份工具–Bacula安装与配置(二)

Bacula的备份和恢复工作由下面几个部分完成
(1)Director Daemon主要是控制端,控制存储,要备份的服务器,运行依赖于数据库,推荐使用MySQL
(2)Storage Daemon主要是文件存储,所有的备份都会存储在这里,恢复的时候从这里取文件
(3)File Daemon就是在客户端运行的进程,备份的时候传出文件,恢复的时候接收文件
(4)Console是连接Director进行控制的
(5)Monitor是监控备份过程的,完成或失败会有log和发送email的,失败的log很详细

一般来说,Director,Storage和Console都会放在一个服务器,除非有特别需要,例如Storage需要放在磁带DVD什么的

这些配置文件都在/etc/bacula/目录下,重要的是bacula-dir.conf,是整个bacula的核心,

Director {                            # define myself
Name = Bacula-dir
DIRport = 9101                # where we listen for UA connections
QueryFile = “/etc/bacula/query.sql”
WorkingDirectory = “/var/bacula/working”
PidDirectory = “/var/run”
Maximum Concurrent Jobs = 1
Password = “WeoJoDjWpYUTPGSghEZUY/7dIYscb7CHuzcbevWaHcU9”         # Console password
Messages = Daemon
}
这一般不用改,password要跟bconsole.conf里面的password一致,如果是一台服务器,默认就是一样的

然后跟着是JobDefs,主要是定义要备份的客户端
JobDefs {
Name = “Webhost”
Type = Backup
Level = Incremental
Client = webhost.abc.com
FileSet = “webhost”
Schedule = “WeeklyCycle”
Storage = File
Messages = Standard
Pool = File
Priority = 10
Write Bootstrap = “/var/bacula/working/%c.bsr”
}
这里指定client的名字是webhost.abc.com,要备份的文件在FileSet webhost里指明,备份计划是WeeklyCycle,默认是每个月的第一个周日做全备份,剩下的周日做差异备份,每天做增量备份,没有特殊需要可以不用改

Job {
Name = “Backup Webhost”
JobDefs = “Webhost”
}
这个是Console运行Job的时候需要的

FileSet {
Name = “webhost”
Include {
Options {
signature = MD5
}
File = /home/
File = /root/
}
Exclude {
File = /root/bacula-5.0.3/
}
}
这个就是webhost这个job需要备份的文件,可以通过include指定多个文件目录,也可以通过exclude在指定的那些目录排除一些子目录

Schedule {
Name = “WeeklyCycle”
Run = Full 1st sun at 05:05
Run = Differential 2nd-5th sun at 05:05
Run = Incremental mon-sat at 05:05
}
这个就是定义自动备份的时间段

Client {
Name = webhost.abc.com
Address = webhost.abc.com  #或者用ip,例如1.1.1.1
FDPort = 9102
Catalog = MyCatalog
Password = “test”          # password for FileDaemon
File Retention = 30 days            # 30 days
Job Retention = 6 months            # six months
AutoPrune = yes                     # Prune expired Jobs/Files
}
定义客户端机器,这里面的name和address虽然一样,但意义不同,name可以随便用,只要跟JobDefs里client一样就行了,address就是服务器的ip地址,或者域名,password这个要跟客户端里面设置的一致

Storage {
Name = File
# Do not use “localhost” here
Address = 127.0.0.1                # N.B. Use a fully qualified name here
SDPort = 9103
Password = “l5OTjniMqNs+QM3Z3U2uBIjOb6mKqIoa67X7zYjlRzwp”
Device = FileStorage
Media Type = File
}
存储的位置,这个如果在同一台服务器的话,只要把address中的localhost改成127.0.0.1即可,如果不在同一个服务器,要注意password要设置成一样的

Messages {
Name = Daemon
mailcommand = “/sbin/bsmtp -h mail.abc.com -f \”\(Bacula\) \<%r\>\” -s \”Bacula daemon message\” %r”
mail = test@abc.com = all, !skipped
console = all, !skipped, !saved
append = “/var/bacula/working/log” = all, !skipped
}
发送email消息设置,-h后边要改成email服务器,也可以用本机当email服务器,mail改成收件人地址

Console {
Name = Bacula-mon
Password = “testoo”
CommandACL = status, .status
}
监控用的,这边的password也要跟客户端里面的一样

One thought on “服务器备份工具–Bacula安装与配置(二)

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注