Hello fellow Bacula users,

I am using Bacula to connect to servers remotely (in a different DC) and backup.

Due to speed constraints and no bogging the office network down during the day, 
I dont see it is feasible to perform a full backup of our 4 servers at the same 
time, so instead we can split out the full backups so each week one server has 
a full backup, in rotation.

Load spreading of full backup transfers

If we had 4 servers, we want to perform a full backup in rotation as follows:
1. myhost1 => 1st of every month full, incremental all others.
2. myhost2 => 8th of every month full, incremental all others.
3. myhost3 => 15th of every month full, incremental all others.
4. myhost4 => 22nd of every month full, incremental all others.

Retention

Given any particular date, we want to keep a full backup, plus the last full 
backup before that. All incremental from now to the most recent full backup 
should be kept.

Full and Incremental in seperate pools

I have two storage pools, one for incremental and one for full, how can I tell 
Bacula to use pool-full if a incremental snapshot cannot find a previous full, 
and how do I put full on storage1 and incremental on storage2 (which is the 
same storage daemon, but different drives)?

Scalability

Potentially could have more servers, if i wanted to rotate them over Saturdays 
and Sundays (giving up to 8 schedules per month on days [1,2], [8,9], [15,16], 
[22,23]) - is there any easier way to make this scale or would I just keep 
adding schedules and job-defs?

I have gone as far as I can with my config below (other non-relevant parts 
removed) and would apprecite an experienced eye to point me in the right 
direction.

My relevant config is below and need help confirm/tweaking as needed, thanks in 
advance.

# ================== SCHEDULES ==================
Schedule {
  Name = "MonthlyFullOn1st"
  Run = Level=Full on 1 at 01:00
  Run = Level=Incremental on 2-31 at 03:00
}

Schedule {
  Name = "MonthlyFullOn8th"
  Run = Level=Full on 8 at 01:00
  Run = Level=Incremental on 1-7, 9-31 at 03:00
}

Schedule {
  Name = "MonthlyFullOn15th"
  Run = Level=Full on 15 at 01:00
  Run = Level=Incremental on 1-14, 16-31 at 03:00
}

Schedule {
  Name = "MonthlyFullOn22nd"
  Run = Level=Full on 22 at 01:00
  Run = Level=Incremental on 1-21, 23-31 at 03:00
}

# ================== JOBS DEFS ==================
JobDefs {
  Name = "FullOn1st"
  Type = Backup
  Schedule = "MonthlyFullOn1st"
  Storage = storage1
  Messages = Standard
  Pool = pool-full
  Priority = 10
  Write Bootstrap = "/var/spool/bacula/%c.bsr"
}

JobDefs {
  Name = "FullOn8th"
  Type = Backup
  Schedule = "MonthlyFullOn8th"
  Storage = storage1
  Messages = Standard
  Pool = pool-full
  Priority = 10
  Write Bootstrap = "/var/spool/bacula/%c.bsr"
}

JobDefs {
  Name = "FullOn15th"
  Type = Backup
  Schedule = "MonthlyFullOn15th"
  Storage = storage1
  Messages = Standard
  Pool = pool-full
  Priority = 10
  Write Bootstrap = "/var/spool/bacula/%c.bsr"
}

JobDefs {
  Name = "FullOn22nd"
  Type = Backup
  Schedule = "MonthlyFullOn1st"
  Storage = storage1
  Messages = Standard
  Pool = pool-full
  Priority = 10
  Write Bootstrap = "/var/spool/bacula/%c.bsr"
}


# ================== JOBS ==================
Job {
  Name = "myhost1-backup"
  JobDefs = "FullOn1st"
  Client = myhost1.mydomain.local
  FileSet = "linux-cpanel"
}

Job {
  Name = "myhost2-backup"
  JobDefs = "FullOn8th"
  Client = myhost2.mydomain.local
  FileSet = "linux-cpanel"
}

Job {
  Name = "myhost3-backup"
  JobDefs = "FullOn15th"
  Client = myhost3.mydomain.local
  FileSet = "linux-cpanel"
}

Job {
  Name = "myhost4-backup"
  JobDefs = "FullOn22nd"
  Client = myhost4.mydomain.local
  FileSet = "linux-cpanel"
}

# ================== FILESETS ==================
FileSet {
  Name = "linux-cpanel"
  Include {
    Options {
      signature = MD5
    }
    File = /backup/
  }
}

# ================== CLIENTS ==================

Client {
  Name = myhost1.mydomain.local
  Address = myhost1.mydomain.local
  FDPort = 9102
  Catalog = MyCatalog
  Password = "xxx"
  File Retention = 31 days  # 31 days
  Job Retention = 2 months      # 2 months
  AutoPrune = yes               # Prune expired Jobs/Files
}

Client {
  Name = myhost2.mydomain.local
  Address = myhost2.mydomain.local
  FDPort = 9102
  Catalog = MyCatalog
  Password = "xxx"
  # retention for catalog data (file/job)
  File Retention = 31 days  # 31 days
  Job Retention = 2 months      # 2 months
  AutoPrune = yes               # Prune expired Jobs/Files
}

Client {
  Name = myhost3.mydomain.local
  Address = myhost3.mydomain.local
  FDPort = 9102
  Catalog = MyCatalog
  Password = "xxx"
  # retention for catalog data (file/job)
  File Retention = 31 days  # 31 days
  Job Retention = 2 months      # 2 months
  AutoPrune = yes               # Prune expired Jobs/Files
}

Client {
  Name = myhost4.mydomain.local
  Address = myhost4.mydomain.local
  FDPort = 9102
  Catalog = MyCatalog
  Password = "xxx"
  # retention for catalog data (file/job)
  File Retention = 31 days  # 31 days
  Job Retention = 2 months      # 2 months
  AutoPrune = yes               # Prune expired Jobs/Files
}

# ================== STORAGE =================
Storage {
  Name = storage1
  Address = storage1.mydomain.local
  SDPort = 9103
  Password = "xxx"
  Device = disk1
  Media Type = File
}

Storage {
  Name = storage2
  Address = storage1.mydomain.local
  SDPort = 9103
  Password = "xxx"
  Device = disk2
  Media Type = File
}

# ================== POOL ==================
Pool {
  Name = pool-full
  Pool Type = Backup
  Recycle = yes                 # Bacula can automatically recycle Volumes
  AutoPrune = yes               # Prune expired volumes
  Volume Retention = 61 days    # keep for more than 60 days
  Maximum Volume Bytes = 16G    # total drive space = 16GB x 32 = 512GB
  Maximum Volumes = 32
  Label Format = pool-full-
  Catalog Files = yes
  Maximum Volume Jobs = 0
  Maximum Volume Files = 0
  Volume Use Duration = 01
}

Pool {
  Name = pool-inc
  Pool Type = Backup
  Recycle = yes                 # Bacula can automatically recycle Volumes
  AutoPrune = yes               # Prune expired volumes
  Volume Retention = 31 days    # keep for more than 30 days
  Maximum Volume Bytes = 16GB   # total drive space = 16GB x 16 = 256GB
  Maximum Volumes = 16
  Label Format = pool-inc-
  Catalog Files = yes
  Maximum Volume Jobs = 0
  Maximum Volume Files = 0
  Volume Use Duration = 0
}

+----------------------------------------------------------------------
|This was sent by g...@hotmail.com via Backup Central.
|Forward SPAM to ab...@backupcentral.com.
+----------------------------------------------------------------------



------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnnow-d2d
_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to