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-re...@mydomain.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 = r...@localhost = all, !skipped operator = r...@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 = r...@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@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users