Bacula-users

[Bacula-users] Problem with schedule/pool

2010-01-14 08:39:54
Subject: [Bacula-users] Problem with schedule/pool
From: Ariel Wainer <awainer AT contentamobile DOT com>
To: bacula-users AT lists.sourceforge DOT net
Date: Tue, 12 Jan 2010 13:49:24 -0300
I'm resending this mail as it seems it didn't get accepted by mailman.

Hello people, please excuse my bad english.
I'm having some issues with my schedules/pool configuration, my idea is
to run a full backup every 3 days, doing incremental in the middle.
At some point, I keep no full backup, as it seems like the volume that
contains the full backup is being recycled to do the Incremental,  so I
can't restore certain files, which is very serious.

What am I missing?

Thanks in advange, here is my config (passwords removed):

Director {                            # define myself
  Name = beastman-dir
  DIRport = 9101                # where we listen for UA connections
  QueryFile = "/etc/bacula/scripts/query.sql"
  WorkingDirectory = "/var/lib/bacula"
  PidDirectory = "/var/run/bacula"
  Maximum Concurrent Jobs = 3
  Messages = Daemon
  DirAddress = beastman.contenta
}

JobDefs {
  Name = "DefaultJob"
  Type = Backup
  Level = Differential
  Client = beastman-fd
  FileSet = "appl"
  Schedule = "WeeklyCycle"
  Storage = File
  Messages = Standard
  Pool = Default
  Priority = 10
  Write Bootstrap = "/backups/bootstrap.bsr"
}


################################################################
## JOBS
Job {
  Name = "Manatarms-diario"
  Client = manatarms-fd
  JobDefs = "DefaultJob"
  FileSet = "appl"
  Schedule = "Diarios"
  Storage = "beastman-storage"
  Pool = Manatarms-diario
}

Job {
  Name = "Battlecat-diario"
  Client = battlecat-fd
  JobDefs = "DefaultJob"
  FileSet = "appl"
  Schedule = "Diarios"
  Storage = "beastman-storage"
  Pool = Battlecat-diario
}


Job {
  Name = "Randor-diario"
  Client = randor-fd
  JobDefs = "DefaultJob"
  FileSet = "appl"
  Schedule = "Diarios"
  Storage = "beastman-storage"
  Pool = Randor-diario
}

#Job {
#  Name = "Heman-diario"
#  Client = heman-fd
#  JobDefs = "DefaultJob"
#  FileSet = "appl"
#  Schedule = "Diarios"
#  Storage = "beastman-storage"
#  Pool = "Heman-diario"
#}

Job {
  Name = "Teela-diario"
  Client = teela-fd
  JobDefs = "DefaultJob"
  FileSet = "appl"
  Schedule = "Diarios"
  Storage = "beastman-storage"
  Pool = Teela-diario
}

Job {
  Name = "Sorceress-diario"
  Client = sorceress-fd
  JobDefs = "DefaultJob"
  FileSet = "appl"
  Schedule = "Diarios"
  Storage = "beastman-storage"
  Pool = Sorceress-diario
}

Job {
  Name = "Orco-diario"
  Client = orco-fd
  JobDefs = "DefaultJob"
  FileSet = "appl"
  Schedule = "Diarios"
  Storage = "beastman-storage"
  Pool = Orco-diario
}


Job {
  Name = "Panthor-diario"
  Client = panthor-fd
  JobDefs = "DefaultJob"
  FileSet = "appl"
  Schedule = "Diarios"
  Storage = "beastman-storage"
  Pool = Panthor-diario
}

Job {
  Name = "Marlena-diario"
  Client = marlena-fd
  JobDefs = "DefaultJob"
  FileSet = "appl"
  Schedule = "Diarios"
  Storage = "beastman-storage"
  Pool = Marlena-diario
}

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 <database-name> <user-name> <password> <host>
  RunBeforeJob = "/etc/bacula/scripts/make_catalog_backup bacula baculin
bacapdetodo localhost"
  # This deletes the copy of the catalog
  RunAfterJob  = "/etc/bacula/scripts/delete_catalog_backup"
  Write Bootstrap = "/backups/BackupCatalog.bsr"
  Storage = "beastman-storage"
  Pool = Catalog-diario
  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=beastman-fd
  FileSet="appl"
  Storage = File
  Pool = Default
  Messages = Standard
  Where = /tmp/
}


# Filesets
FileSet {
  Name = "appl"
  Include {
    Options { signature = SHA1
              compression = GZIP9
        }

#  File = "/backups/"
  File = "/etc"
  File = "/appl"
  File = "/home"
  File = "/root"
  File = "/var/www"
  File = "/usr/local"
  File = "/var/spool/cron"
  File = "/usr/lib/nagios/plugins"
  File = "/backups"
  }

   Exclude {
    File = "/appl/logs/*"
#    File = "/appl/backup"
    File = "/appl/backups/*.1.gz"
    File = "/appl/produccion/*/logs/"
    File = "/appl/pgsql/data/base"
    File = "/appl/pgsql/data/pg_xlog/*"
    File = "/appl/pgsql/data/pg_clog/*"
    File = "/appl/restores/*"

   }
}


#
# 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 = Differential mon-sat at 23:05
}

Schedule {
  Name = "Diarios"
  Run = Level=Full        on sunday at 3:05
  Run = Level=Incremental on mon-sat at 3: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/lib/bacula/bacula.sql
  }
}
#########################################################################
# Clientes
Client {
  Name = beastman-fd
  Address = beastman.contenta
  FDPort = 9102
  Catalog = MyCatalog
  File Retention = 30 days            # 30 days
  Job Retention = 1 days            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}

Client {
  Name = manatarms-fd
  Address = manatarms.contenta
  FDPort = 9102
  Catalog = MyCatalog
  File Retention = 30 days            # 30 days
  Job Retention = 1 days            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}

Client {
  Name = battlecat-fd
  Address = battlecat.contenta
  FDPort = 9102
  Catalog = MyCatalog
  File Retention = 30 days            # 30 days
  Job Retention = 1 days            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}

Client {
  Name = randor-fd
  Address = randor.contenta
  FDPort = 9102
  Catalog = MyCatalog
  File Retention = 30 days            # 30 days
  Job Retention = 1 days            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}

Client {
  Name = heman-fd
  Address = heman.contenta
  FDPort = 9102
  Catalog = MyCatalog
  File Retention = 30 days            # 30 days
  Job Retention = 1 days            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}

Client {
  Name = teela-fd
  Address = teela.contenta
  FDPort = 9102
  Catalog = MyCatalog
  File Retention = 30 days            # 30 days
  Job Retention = 1 days            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}

Client {
  Name = sorceress-fd
  Address = sorceress.contenta
  FDPort = 9102
  Catalog = MyCatalog
  File Retention = 30 days            # 30 days
  Job Retention = 1 days            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}

Client {
  Name = orco-fd
  Address = orco.contenta
  FDPort = 9102
  Catalog = MyCatalog
  File Retention = 30 days            # 30 days
  Job Retention = 1 days            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}

Client {
  Name = panthor-fd
  Address = panthor.contenta
  FDPort = 9102
  Catalog = MyCatalog
  File Retention = 30 days            # 30 days
  Job Retention = 1 days            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}

Client {
  Name = marlena-fd
  Address = marlena.contenta
  FDPort = 9102
  Catalog = MyCatalog
  File Retention = 30 days            # 30 days
  Job Retention = 1 days            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}


###############################################################


###############################################################


###############################################################

# Definition of file storage device

###############################################################

# Definition of file storage device
Storage {
  Name = File
# Do not use "localhost" here
  #Address = localhost.localdomain                # N.B. Use a fully
qualified name here
  Address = 192.168.1.6                # N.B. Use a fully qualified name
here
  SDPort = 9103
  Device = FileStorage
  Media Type = File
}

Storage {
  Name = beastman-storage
# Do not use "localhost" here
  Address = beastman.contenta                # N.B. Use a fully
qualified name here
  SDPort = 9103
  Device = BackUps
  Media Type = File
}

###############################################################

# Generic catalog service
Catalog {
  Name = MyCatalog
  dbname = "bacula"; user = "baculin"; dbpassword = "bacapdetodo";
dbaddress="127.0.0.1"; dbport="5432"
}

# 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 = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\)
\<%r\>\" -s \"Bacula: %t %e of %c %l\" %r"
  operatorcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\)
\<%r\>\" -s \"Bacula: Intervention needed for %j\" %r"
  mail = root@localhost = all, !skipped
  operator = root@localhost = 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/log" = all, !skipped
}


#
# Message delivery for daemon messages (no job).
Messages {
  Name = Daemon
  mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\)
\<%r\>\" -s \"Bacula daemon message\" %r"
  mail = root@localhost = all, !skipped
  console = all, !skipped, !saved
  append = "/var/lib/bacula/log" = all, !skipped
}




# Pools
Pool {
  Name = Default
  Pool Type = Backup
  Recycle = yes                       # Bacula can automatically recycle
Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 365 days         # one year
}

Pool {
  Name = Catalog-diario
  Pool Type = Backup
  Recycle = yes                       # Bacula can automatically recycle
Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 1 days         # one year
  Maximum Volumes = 3
  Use Volume Once = yes
  Label Format = "Catalog-"
}

Pool {
  Name = Manatarms-diario
  Pool Type = Backup
  Recycle = yes                       # Bacula can automatically recycle
Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 1 days         # one year
  Maximum Volumes = 3
  Use Volume Once = yes
  Label Format = "Manatarms-diario-"
}

Pool {
  Name = Battlecat-diario
  Pool Type = Backup
  Recycle = yes                       # Bacula can automatically recycle
Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 1 days         # one year
  Maximum Volumes = 3
  Use Volume Once = yes
  Label Format = "Battlecat-diario-"
}

Pool {
  Name = Randor-diario
  Pool Type = Backup
  Recycle = yes                       # Bacula can automatically recycle
Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 1 days         # one year
  Maximum Volumes = 2
  Use Volume Once = yes
  Label Format = "Randor-diario-"
}

Pool {
  Name = Heman-diario
  Pool Type = Backup
  Recycle = yes                       # Bacula can automatically recycle
Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 1 days         # one year
  Maximum Volumes = 3
  Use Volume Once = yes
  Label Format = "Heman-diario-"
}

Pool {
  Name = Teela-diario
  Pool Type = Backup
  Recycle = yes                       # Bacula can automatically recycle
Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 1 days         # one year
  Maximum Volumes = 3
  Use Volume Once = yes
  Label Format = "Teela-diario-"
}

Pool {
  Name = Sorceress-diario
  Pool Type = Backup
  Recycle = yes                       # Bacula can automatically recycle
Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 1 days         # one year
  Maximum Volumes = 3
  Use Volume Once = yes
  Label Format = "Sorceress-diario-"
}

Pool {
  Name = Orco-diario
  Pool Type = Backup
  Recycle = yes                       # Bacula can automatically recycle
Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 1 days         # one year
  Maximum Volumes = 3
  Use Volume Once = yes
  Label Format = "Orco-diario-"
}

Pool {
  Name = Panthor-diario
  Pool Type = Backup
  Recycle = yes                       # Bacula can automatically recycle
Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 1 days         # one year
  Maximum Volumes = 3
  Use Volume Once = yes
  Label Format = "Panthor-diario-"
}

Pool {
  Name = Marlena-diario
  Pool Type = Backup
  Recycle = yes                       # Bacula can automatically recycle
Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 1 days         # one year
  Maximum Volumes = 3
  Use Volume Once = yes
  Label Format = "Marlena-diario-"
}
# Scratch pool definition
Pool {
  Name = Scratch
  Pool Type = Backup
}

#
# Restricted console used by tray-monitor to get the status of the director
#
Console {
  Name = beastman-mon
  CommandACL = status, .status
}

-- 
Ariel Wainer
Contenta Mobile



------------------------------------------------------------------------------
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users

<Prev in Thread] Current Thread [Next in Thread>