Bacula-users

[Bacula-users] version 3

2009-10-26 02:21:32
Subject: [Bacula-users] version 3
From: glynd <bacula-forum AT backupcentral DOT com>
To: bacula-users AT lists.sourceforge DOT net
Date: Mon, 26 Oct 2009 02:17:49 -0400
Martin, Cedric, Thanks for the input.
I think my understanding as to how to set up Bacula is a bit off!
The configuration is this:
mistral Ubuntu machine runs the Director, fd and sd with a USB hard drive 
connected to back up to. mistral hosts sugarcrm and the database is backed up. 
cumulus is a NAS without a client and an nfs mount point allows it to be backed 
up.
typhoon Ubuntu machine runs a client and is backed up using the typhoon-fd
Both glyn-laptop and colyn-acer-7 are windows laptops and are running clients. 
Both are backed up during the daytime schedule using the file daemons.

>>From what you are saying, I don't need multiple catalogs, am I right?

I would appreciate a critique of the director.conf which I have pasted below, 
so I can get Bacula running smoothly. I hope you don't mind pasting such a 
large lump...

#
# 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 2.2.8 (26 January 2008) -- debian lenny/sid
#
#  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 = mistral-dir
  DIRport = 9101                # where we listen for UA connections
  QueryFile = "/var/lib/bacula/bin/query.sql"
  WorkingDirectory = "/var/lib/bacula/bin/working"
  PidDirectory = "/var/lib/bacula/bin/working"
  Maximum Concurrent Jobs = 1
  Password = "Cv70F6pf1t6pBopT4vQOnigDrR0v3L"         # Console password
  Messages = Daemon
  DirAddress = mistral.cirrus.co.za
}

JobDefs {
  Name = "GlynJob"
  Type = Backup
  Level = incremental
  Client = glyn-laptop-fd 
  FileSet = "Glyn Set"
  Schedule = "DayTime"
  Storage = File
  Messages = Standard
  Pool = Default
  Priority = 10
  Reschedule on error = yes
  Reschedule interval = 1 hour
  Reschedule times = 5
}

JobDefs {
  Name = "ColynJob"
  Type = Backup
  Level = Incremental
  Client = Colyn-Acer-W7-fd 
  FileSet = "Colyn Set"
  Schedule = "DayTime"
  Storage = File
  Messages = Standard
  Pool = Default
  Priority = 10
  Reschedule on error = yes
  Reschedule interval = 1 hour
  Reschedule times = 5
}

JobDefs {
  Name = "CumulusJob"
  Type = Backup
  Level = Incremental
  Client = mistral-fd 
  FileSet = "Cumulus Set"
  Schedule = "WeeklyCycle"
  Storage = File
  Messages = Standard
  Pool = Default
  Priority = 10
}

JobDefs {
  Name = "SugarJob"
  Type = Backup
  Level = Incremental
  Client = mistral-fd 
  FileSet = "Sugar Set"
  Schedule = "WeeklyCycle"
  Storage = File
  Messages = Standard
  Pool = Default
  Priority = 10
}

JobDefs {
  Name = "TyphoonJob"
  Type = Backup
  Level = Incremental
  Client = typhoon-fd 
  FileSet = "Typhoon Set"
  Schedule = "WeeklyCycle"
  Storage = File
  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 = "Sugar"
  JobDefs = "SugarJob"
  Write Bootstrap = "/var/lib/bacula/bin/Sugar.bsr"
}

Job {
  Name = "Cumulus"
  JobDefs = "CumulusJob"
  Write Bootstrap = "/var/lib/bacula/bin/Cumulus.bsr"
}

Job {
  Name = "Glyn"
  JobDefs = "GlynJob"
  Write Bootstrap = "/var/lib/bacula/bin/Glyn.bsr"
}

Job {
  Name = "Colyn"
  JobDefs = "ColynJob"
  Write Bootstrap = "/var/lib/bacula/bin/Colyn.bsr"
}

Job {
  Name = "Typhoon"
  JobDefs = "TyphoonJob"
  Write Bootstrap = "/var/lib/bacula/bin/Typhoon.bsr"
}


# Backup the catalog database (after the nightly save)
Job {
  Name = "SugarCatalog"
  JobDefs = "SugarJob"
  Level = Full
  FileSet="Catalog"
  Schedule = "WeeklyCycleAfterBackup"
  # This creates an ASCII copy of the catalog
  # WARNING!
  # Ubuntu uses make_catalog_backup_awk script for
  # security reasons
  # Replace <CatalogName> with the real Catalog name
  RunBeforeJob = "/var/lib/bacula/bin/make_catalog_backup bacula bacula"
  # This deletes the copy of the catalog
  RunAfterJob  = "/var/lib/bacula/bin/delete_catalog_backup"
  Write Bootstrap = "/var/lib/bacula/bin/SugarBackupCatalog.bsr"
  Priority = 11                   # run after main backup
}

Job {
  Name = "CumulusCatalog"
  JobDefs = "CumulusJob"
  Level = Full
  FileSet="Catalog"
  Schedule = "WeeklyCycleAfterBackup"
  RunBeforeJob = "/var/lib/bacula/bin/make_catalog_backup bacula bacula"
  RunAfterJob  = "/var/lib/bacula/bin/delete_catalog_backup"
  Write Bootstrap = "/var/lib/bacula/bin/CumulusBackupCatalog.bsr"
  Priority = 11                   # run after main backup
}

Job {
  Name = "ColynCatalog"
  JobDefs = "ColynJob"
  Level = Full
  FileSet="Catalog"
  Schedule = "DayTimeAfterBackup"
  RunBeforeJob = "/var/lib/bacula/bin/make_catalog_backup bacula bacula"
  RunAfterJob  = "/var/lib/bacula/bin/delete_catalog_backup"
  Write Bootstrap = "/var/lib/bacula/bin/ColynBackupCatalog.bsr"
  Priority = 11                   # run after main backup
}

Job {
  Name = "GlynCatalog"
  JobDefs = "GlynJob"
  Level = Full
  FileSet="Catalog"
  Schedule = "DayTimeAfterBackup"
  RunBeforeJob = "/var/lib/bacula/bin/make_catalog_backup bacula bacula"
  RunAfterJob  = "/var/lib/bacula/bin/delete_catalog_backup"
  Write Bootstrap = "/var/lib/bacula/bin/GlynBackupCatalog.bsr"
  Priority = 11                   # run after main backup
}

Job {
  Name = "TyphoonCatalog"
  JobDefs = "TyphoonJob"
  Level = Full
  FileSet="Catalog"
  Schedule = "WeeklyCycleAfterBackup"
  RunBeforeJob = "/var/lib/bacula/bin/make_catalog_backup bacula bacula"
  RunAfterJob  = "/var/lib/bacula/bin/delete_catalog_backup"
  Write Bootstrap = "/var/lib/bacula/bin/TyphoonBackupCatalog.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=mistral-fd                 
  FileSet="Sugar Set"                  
  Storage = File                      
  Pool = Default
  Messages = Standard
  Where = /bacula-restores
}


# List of files to be backed up
FileSet {
  Name = "Sugar Set"
  Include {
    Options {
        Compression = GZIP
#       signature = MD5
        ignore case = yes
    }
        File = "</var/lib/bacula/bin/sugarbup.txt"
        
  }
}

FileSet {
  Name = "Cumulus Set"
  Include {
    Options {
        Compression = GZIP
#       signature = MD5
        ignore case = yes
        onefs = no
    }
        
        File = "</var/lib/bacula/bin/Cumulusbup.txt"
  }
}

FileSet {
  Name = "Colyn Set"
  Enable VSS = yes
  Exclude {
        File = "</var/lib/bacula/bin/colynexclude.txt"
}       
  Include {
    Options {
        Compression = GZIP
#       signature = MD5
        ignore case = yes
        Exclude = yes
    }
        
        File = "</var/lib/bacula/bin/Colynbup.txt"
  }
}

FileSet {
  Name = "Glyn Set"
  Enable VSS = yes
  Exclude {
        File = "</var/lib/bacula/bin/glynexclude.txt"
}       
  Include {
    Options {
        Compression = GZIP
#       signature = MD5
        ignore case = yes
        Exclude = yes
    }
        
        File = "</var/lib/bacula/bin/Glynbup.txt"
  }
}

FileSet {
  Name = "Typhoon Set"
  Include {
    Options {
        Compression = GZIP
#       signature = MD5
        ignore case = yes
    }
        File = "</var/lib/bacula/bin/typhoonbup.txt"
        
  }
}

#
# 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 = Incremental mon-fri at 19:05
}

Schedule {
  Name = "DayTime"
  Run = Incremental mon-fri at 09:05
}


# This schedule does the catalog. It starts after the WeeklyCycle
Schedule {
  Name = "WeeklyCycleAfterBackup"
  Run = Full mon-fri at 19:10
}

Schedule {
  Name = "DayTimeAfterBackup"
  Run = Full mon-fri at 09:10
}

# This is the backup of the catalog
FileSet {
  Name = "Catalog"
  Include {
    Options {
      signature = MD5
    }
    File = /var/lib/bacula/bin/bacula.sql
  }
}

# Client (File Services) to backup
Client {
  Name = mistral-fd
  Address = mistral
  FDPort = 9102
  Catalog = MyCatalog
  Password = "Cv70F6pf1t6pBopT4vQOnigDrR0v3LT3Cg"          # password for 
FileDaemon
  File Retention = 30 days            # 30 days
  Job Retention = 6 months            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}

Client {
  Name = glyn-laptop-fd                
  Address = glyn-Laptop.cirrus.co.za
  FDPort = 9102
  Catalog = MyCatalog
  Password = "irish01"         # password for FileDaemon 2
  File Retention = 30 days            # 30 days
  Job Retention = 6 months            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}

Client {
  Name = Colyn-Acer-W7-fd                
  Address = Colyn-Acer-W7.cirrus.co.za
  FDPort = 9102
  Catalog = MyCatalog
  Password = "colyn"         # password for FileDaemon 2
  File Retention = 30 days            # 30 days
  Job Retention = 6 months            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}

Client {
  Name = typhoon-fd                
  Address = typhoon.cirrus.co.za
  FDPort = 9102
  Catalog = MyCatalog
  Password = "typhoon"         # 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 = File
# Do not use "localhost" here    
  Address = mistral.cirrus.co.za               # N.B. Use a fully qualified 
name here
  SDPort = 9103
  Password = "Cv70F6pf1t6pBopT4vQOnigDrR0v3LT3Cgkiyj"
  Device = FileStorage
  Media Type = File
}

# Definition of DDS tape storage device
#Storage {
#  Name = DDS-4    
#  Do not use "localhost" here
#  Address = mistral                # N.B. Use a fully qualified name here
#  SDPort = 9103
#  Password = "Cv70F6pf1t6pBopT4vQOnigDrR0v3LT3Cgkiyj"          # 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 = mistral                # N.B. Use a fully qualified name here
#  SDPort = 9103
#  Password = "Cv70F6pf1t6pBopT4vQOnigDrR0v3LT3Cgkiyj"
#  Device = "Exabyte 8mm"
#  MediaType = "8mm"
#}

# Definition of DVD storage device
#Storage {
#  Name = "DVD"
#  Do not use "localhost" here
#  Address = mistral                # N.B. Use a fully qualified name here
#  SDPort = 9103
#  Password = "Cv70F6pf1t6pBopT4vQOnigDrR0v3LT3Cgkiyj"
#  Device = "DVD Writer"
#  MediaType = "DVD"
#}


# Generic catalog service
Catalog {
  Name = MyCatalog
  dbname = bacula
  DB Address = localhost
  user = bacula
#  password = "Andr0m3dA"
#  DB Socket = "/opt/mistral-5.2.0h/mysql/tmp/mysql.sock"

}

# 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 'no-reply AT mydomain DOT com', is better since that tends to
#  tell (most) people that its coming from an automated source.

#
  mailcommand = "/var/lib/bacula/bin/bsmtp -h typhoon.cirrus.co.za -f 
\"\(Bacula\) \<%r\>\" -s \"Bacula: %t %e of %c %l\" %r"
  operatorcommand = "/var/lib/bacula/bin/bsmtp -h typhoon.cirrus.co.za -f 
\"\(Bacula\) \<%r\>\" -s \"Bacula: Intervention needed for %j\" %r"
  mail = glyn AT cirrus.co DOT za = all, !skipped            
  operator = glyn AT cirrus.co DOT za = 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/lib/bacula/bin/log" = all, !skipped
}


#
# Message delivery for daemon messages (no job).
Messages {
  Name = Daemon
  mailcommand = "/var/lib/bacula/bin/bsmtp -h typhoon.cirrus.co.za -f 
\"\(Bacula\) \<%r\>\" -s \"Bacula daemon message\" %r"
  mail = glyn AT cirrus.co DOT za = all, !skipped            
  console = all, !skipped, !saved
  append = "/var/lib/bacula/bin/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 = mistral-mon
  Password = "Cv70F6pf1t6pBopT4vQOnigDrR0v3L"
  CommandACL = status, .status
}

+----------------------------------------------------------------------
|This was sent by glyn AT cirrus.co DOT za via Backup Central.
|Forward SPAM to abuse AT backupcentral DOT com.
+----------------------------------------------------------------------



------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users