分类: 服务器与存储
2010-04-26 02:48:06
下面将会是系统的配置过程。
配置文档主要包括三个
bacula-dir.conf 这个配置最麻烦,因为所有配置都集中到这里,包括备份工作调度,数据库配置,fd和sd协作配置都在这里。
bacula-fd.conf 配置前先说明一点需要注意的,配置中指定主机地址时,最好使用ip,我配置时使用主机名貌似不可以。。。而且要是对外
的ip,用127.0.0.1不行fd运行在被备份主机上。配置相当简单,指定哪个Director可以运行调度它,密码是什么,fd的名字,工作目录,
log往哪里发就可以了。修改修改标配就可以了。
bacula-sd.conf sd运行在接受备份的机器上。配置也相当简单,只是比fd多出了一个device用于指定使用什么硬件备份数据。可以把多个
数据备份到一个device,如果是磁带机备份bacula在恢复的时候会告诉你要使用哪个磁带。因为我使用的是文件备份的模式,所以就给每个
备份配置一个device,把不同的备份放到不同目录去
下面列出本人的三个配置文件作为范例:
#
# Default Bacula Director Configuration file
#
# The only thing that MUST be changed is to add one or more
# file or directory names in the Include directive of the
# FileSet resource.
#
# For Bacula release 3.0.1 (30 April 2009) — redhat
#
# You might also want to change the default email address
# from root to your address. See the “mail” and “operator”
# directives in the Messages resource.
#
Director { # define myself
Name = Water75
DIRport = 9101 # where we listen for UA connections
QueryFile = “/etc/bacula/query.sql”
WorkingDirectory = “/var/bacula”
PidDirectory = “/var/run”
Maximum Concurrent Jobs = 1
Password = “123456″ # Console password
Messages = Daemon
}
JobDefs {
Name = “DefaultJob”
Type = Backup
Level = Incremental
Client = Water75
FileSet = “Full Set”
Schedule = “WeeklyCycle”
Storage = Water75
Messages = Standard
Pool = Default
Priority = 10
}
#
# Define the main nightly save backup job
# By default, this job will back up to disk in
Job {
Name = “Water75″
JobDefs = “DefaultJob”
Write Bootstrap = “/var/bacula/Water75.bsr”
}
#Job {
# Name = “Client2″
# Client = localhost2-fd
# JobDefs = “DefaultJob”
# Write Bootstrap = “/var/bacula/Client2.bsr”
#}
# Backup the catalog database (after the nightly save)
Job {
Name = “BackupCatalog”
JobDefs = “DefaultJob”
Level = Full
FileSet=”Catalog”
Schedule = “WeeklyCycleAfterBackup”
# This creates an ASCII copy of the catalog
# WARNING!!! Passing the password via the command line is insecure.
# see comments in make_catalog_backup for details.
# Arguments to make_catalog_backup are:
# make_catalog_backup
RunBeforeJob = “/etc/bacula/make_catalog_backup bacula bacula”
# This deletes the copy of the catalog
RunAfterJob = “/etc/bacula/delete_catalog_backup”
Write Bootstrap = “/var/bacula/BackupCatalog.bsr”
Priority = 11 # run after main backup
}
#
# Standard Restore template, to be changed by Console program
# Only one such job is needed for all Jobs/Clients/Storage …
#
Job {
Name = “RestoreFiles”
Type = Restore
Client= Water75
FileSet=”Full Set”
Storage = Water75
Pool = Default
Messages = Standard
Where = /bacula-restores
}
# List of files to be backed up
FileSet {
Name = “Full Set”
Include {
Options {
signature = MD5
}
#
# Put your list of files here, preceded by ‘File =’, one per line
# or include an external list with:
#
# File =
# Note: / backs up everything on the root partition.
# if you have other partitons such as /usr or /home
# you will probably want to add them too.
#
# By default this is defined to point to the Bacula build
# directory to give a reasonable FileSet to backup to
# disk storage during initial testing.
#
File = /home/web/bacula-3.0.1
}
#
# If you backup the root directory, the following two excluded
# files can be useful
#
Exclude {
File = /proc
File = /tmp
File = /.journal
File = /.fsck
}
}
#
# When to do the backups, full backup on first sunday of the month,
# differential (i.e. incremental since full) every other sunday,
# and incremental backups other days
Schedule {
Name = “WeeklyCycle”
Run = Full 1st sun at 23:05
Run = Differential 2nd-5th sun at 23:05
Run = Incremental mon-sat at 23:05
}
# This schedule does the catalog. It starts after the WeeklyCycle
Schedule {
Name = “WeeklyCycleAfterBackup”
Run = Full sun-sat at 23:10
}
# This is the backup of the catalog
FileSet {
Name = “Catalog”
Include {
Options {
signature = MD5
}
File = /var/bacula/bacula.sql
}
}
# Client (File Services) to backup
Client {
Name = Water75
Address = 192.168.7.75
FDPort = 9102
Catalog = MyCatalog
Password = “123456″ # password for FileDaemon
File Retention = 30 days # 30 days
Job Retention = 6 months # six months
AutoPrune = yes # Prune expired Jobs/Files
}
#
# Second Client (File Services) to backup
# You should change Name, Address, and Password before using
#
#Client {
# Name = localhost2-fd
# Address = localhost2
# FDPort = 9102
# Catalog = MyCatalog
# Password = “45lwAlT8ZSYhlNAvABSZy2CP5J70O3lz/HHWJHthfWTX2″ # password for FileDaemon 2
# File Retention = 30 days # 30 days
# Job Retention = 6 months # six months
# AutoPrune = yes # Prune expired Jobs/Files
#}
# Definition of file storage device
Storage {
Name = Water75
# Do not use “localhost” here
Address = 192.168.7.75 # N.B. Use a fully qualified name here
SDPort = 9103
Password = “123456″
Device = Water75
Media Type = File
}
# Definition of DDS tape storage device
#Storage {
# Name = DDS-4
# Do not use “localhost” here
# Address = localhost # N.B. Use a fully qualified name here
# SDPort = 9103
# Password = “0oFGc4o9tCRjyQTlc8BbSTX8RL9kkARZ+6Gyu/ye21KU” # password for Storage daemon
# Device = DDS-4 # must be same as Device in Storage daemon
# Media Type = DDS-4 # must be same as MediaType in Storage daemon
# Autochanger = yes # enable for autochanger device
#}
# Definition of 8mm tape storage device
#Storage {
# Name = “8mmDrive”
# Do not use “localhost” here
# Address = localhost # N.B. Use a fully qualified name here
# SDPort = 9103
# Password = “0oFGc4o9tCRjyQTlc8BbSTX8RL9kkARZ+6Gyu/ye21KU”
# Device = “Exabyte 8mm”
# MediaType = “8mm”
#}
# Definition of DVD storage device
#Storage {
# Name = “DVD”
# Do not use “localhost” here
# Address = localhost # N.B. Use a fully qualified name here
# SDPort = 9103
# Password = “0oFGc4o9tCRjyQTlc8BbSTX8RL9kkARZ+6Gyu/ye21KU”
# Device = “DVD Writer”
# MediaType = “DVD”
#}
# Generic catalog service
Catalog {
Name = MyCatalog
# Uncomment the following line if you want the dbi driver
# dbdriver = “dbi:mysql”;
dbaddress = 192.168.7.75; dbport = 3306
dbname = “MyCatalog”; dbuser = “root”; dbpassword = “cjmedia”
}
# Reasonable message delivery — send most everything to email address
# and to the console
Messages {
Name = Standard
#
# NOTE! If you send to two email or more email addresses, you will need
# to replace the %r in the from field (-f part) with a single valid
# email address in both the mailcommand and the operatorcommand.
# What this does is, it sets the email address that emails would display
# in the FROM field, which is by default the same email as they’re being
# sent to. However, if you send email to more than one address, then
# you’ll have to set the FROM address manually, to a single address.
# for example, a , is better since that tends to
# tell (most) people that its coming from an automated source.
#
# mailcommand = “/usr/sbin/bsmtp -h 192.168.7.75 -f \”\(Bacula\) \<%r\>\” -s \”Bacula: %t %e of %c %l\” %r”
# operatorcommand = “/usr/sbin/bsmtp -h 192.168.7.75 -f \”\(Bacula\) \<%r\>\” -s \”Bacula: Intervention needed for %j\” %
r”
# mail = = all, !skipped
# operator = = mount
# console = all, !skipped, !saved
#
# WARNING! the following will create a file that you must cycle from
# time to time as it will grow indefinitely. However, it will
# also keep all your messages if they scroll off the console.
#
append = “/var/bacula/bacula.log” = all, !skipped
append =”/var/bacula/bacula.err.log” = error, warning, fatal
}
#
# Message delivery for daemon messages (no job).
Messages {
Name = Daemon
mailcommand = “/usr/sbin/bsmtp -h 192.168.7.75 -f \”\(Bacula\) \<%r\>\” -s \”Bacula daemon message\” %r”
mail = = all, !skipped
console = all, !skipped, !saved
append = “/var/bacula/log” = all, !skipped
}
# Default pool definition
Pool {
Name = Default
Pool Type = Backup
Recycle = yes # Bacula can automatically recycle Volumes
AutoPrune = yes # Prune expired volumes
Volume Retention = 365 days # one year
}
# Scratch pool definition
Pool {
Name = Scratch
Pool Type = Backup
}
#
# Restricted console used by tray-monitor to get the status of the director
#
Console {
Name = Water75-mon
Password = “123456″
CommandACL = status, .status
}