Ariel Wainer wrote:
> 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):
For starters, I would set all your retention values to be the same value
(30 days). Issue a reload command within bconsole. Then run update
(pool, and volumes from pool) to update the Pool and Volumes from that
new Pool resource value.
Then run with that for a while and see how things go.
My theory as to the problem: your Full Job is being dropped from the
Catalog. Bacula goes to run an incremental, can't find a Full, so it
promotes that Job to a Full.
>
> 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
> }
>
>
------------------------------------------------------------------------------
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
|