Chinaunix首页 | 论坛 | 博客
  • 博客访问: 179484
  • 博文数量: 32
  • 博客积分: 3453
  • 博客等级: 上尉
  • 技术积分: 244
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-04 21:27
文章分类
文章存档

2011年(8)

2010年(24)

分类: 服务器与存储

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,把不同的备份放到不同目录去

bacula系统各项配置文件关系图

下面列出本人的三个配置文件作为范例:

#
# 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
}

阅读(2144) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~