Bacula-users

[Bacula-users] Which full back up is an incremental/differential back up based on if multiple full back ups exist within multiple pools with different retention periods?

2013-03-18 11:21:01
Subject: [Bacula-users] Which full back up is an incremental/differential back up based on if multiple full back ups exist within multiple pools with different retention periods?
From: Melvin Ross <melvin.ross AT gmail DOT com>
To: bacula-users AT lists.sourceforge DOT net
Date: Mon, 18 Mar 2013 10:17:02 -0500
As the title says, I want to know if within a JobID, does bacula possess any logic verification when selecting which full back up to base incremental/differential back ups on or  does it simply uses the latest one.   The reason for this question is due to the nature of my schedule/volume configuration which can be seen below.  As a courtesy, I'll summarize it as well.

1. Incremental/Differential Back ups every two hours into a pool which gets recycled every 23 hours
2. A full back up on sunday into a daily pool, then subsequent differential backups into the same pool Mon-Sat. This pool is recycled every 6 days.
3. A full back up on the first saturday of each month into a weekly pool, then incremental backs ups every saturday there after.  This pool is recycled every 29 days
4. Full back up on Jan 1 into a monthly pool, then incremental back ups the first of all other months. This pool is recycled every 46 weeks
5. A full backup into a yearly pool on December 31 of every year. This pool is recycled every 5 years.

My fear is that a longer lasting incremental back up, such as one going into the weekly pool will be based on a full back up of a shorter lasting pool, such as the daily pool. I would then be unable to use this incremental/differential back up.  

At first glance the naive solution seems to be to move the full back up into just the monthly/yearly pools but this seems like a poor practice. If anything went wrong with them the incremental/differentials would be useless. My next thought was to pull them into different JobIDs to ensure that the incrementals/differentials would be based on the proper data, which seems like a much better solution than the first.

Any advice would be greatly appreciated.

-Melvin Ross

Relevant Director config is below:

#
# 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 5.2.10 (28 June 2012) -- debian 6.0.5
#
#  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 = debian-bacula-dir
  DIRport = 9101                # where we listen for UA connections
  QueryFile = "/etc/bacula/query.sql"
  WorkingDirectory = "/var/bacula/working"
  PidDirectory = "/var/run"
  Maximum Concurrent Jobs = 1
  Messages = Daemon
}

JobDefs {
  Name = DefaultJob
  Type = Backup
  Level = Incremental
  Client = debian-bacula-fd
  FileSet = "Full Set"
  Schedule = WeeklyCycle
  Storage = debian-bacula-sd
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
  Enabled = No
}


Client {
  Name = sbsserver02-fd
  Address = SBSSERVER02
  FDPort = 9102
  Catalog = MyCatalog
  File Retention = 5 years
  Job Retention = 5 years
}
Job {
  Name = SBServer
  Type = Backup
  Client = sbsserver02-fd
  Pool = YearlyPool
  FileSet = SBSServer
  Storage = debian-bacula-sd
  Messages = Standard
  Schedule = BrilliantBackupSchedule
}
Schedule {
  Name = BrilliantBackupSchedule
  Run = Level=Incremental Pool=HourlyPool at 00:00
  Run = Level=Incremental Pool=HourlyPool at 2:00
  Run = Level=Incremental Pool=HourlyPool at 4:00
  Run = Level=Incremental Pool=HourlyPool at 6:00
  Run = Level=Incremental Pool=HourlyPool at 8:00
  Run = Level=Incremental Pool=HourlyPool at 10:00
  Run = Level=Differential Pool=HourlyPool at 12:00
  Run = Level=Incremental Pool=HourlyPool at 14:00
  Run = Level=Incremental Pool=HourlyPool at 16:00
  Run = Level=Incremental Pool=HourlyPool at 18:00
  Run = Level=Incremental Pool=HourlyPool at 20:00
  Run = Level=Full Pool=DailyPool sun at 22:00
  Run = Level=Differential Pool=DailyPool mon-sat at 22:00
  Run = Level=Full Pool=WeeklyPool 1st sat at 22:00
  Run = Level=Incremental Pool=WeeklyPool sat at 22:00
  Run = Level=Full Pool=MonthlyPool jan on 1 at 00:00
  Run = Level=Incremental Pool=MonthlyPool feb-dec on 1 at 00:00
  Run = Level=Full Pool=YearlyPool dec on 31 at 23:59
}
Pool {
  Name = HourlyPool
  Pool Type = Backup
  Volume Retention = 23 hours
  Recycle = yes
  AutoPrune = yes
  Volume Use Duration = 23 hours
}
Pool {
  Name = DailyPool
  Pool Type = Backup
  Volume Retention = 6 days
  Recycle = yes
  AutoPrune = yes
  Volume Use Duration = 6 days
}
Pool {
  Name = WeeklyPool
  Pool Type = Backup
  Volume Retention = 29 days
  Recycle = yes
  AutoPrune = yes
  Volume Use Duration = 29 days
}
Pool {
  Name = MonthlyPool
  Pool Type = Backup
  Volume Retention = 46 weeks
  Recycle = yes
  AutoPrune = yes
  Volume Use Duration = 46 weeks
}
Pool {
  Name = YearlyPool
  Pool Type = Backup
  Volume Retention = 59 months
  Recycle = yes
  AutoPrune = yes
  Volume Use Duration = 59 months
}
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
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>