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
Grupo de Usuarios de Software Libre de Capital Federal
www.cafelug.org.ar
------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev
_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users
|