# bacula-dir.conf 
# 
# Default Bacula Director Configuration file
#
# WARNING: 
# This file is generated from /opt/lysator/etc/bacula/bacula-dir.conf
# Edit the source file and then run 'make'.
#

include(bacula-defs.m4)

Director {                            # define myself
  Name = Baccus
  DIRport = 9101                # where we listen for UA connections
  QueryFile = "/opt/bacula/etc/query.sql"
  WorkingDirectory = "/var/bacula/working"
  PidDirectory = "/var/run"
  Maximum Concurrent Jobs = 10
  Password = "djUGGqG0ckdbbTp0J0cAnK6FqZC5YX5i6"         # Console password
  Messages = Standard
}


# Generic catalog service
Catalog {
  Name = MyCatalog
  dbname = bacula; user = bacula; password = ""
}



JobDefs {
  Name = "DefaultJob"
  Type = Backup
  Level = Incremental
  Schedule = "WeeklyCycle"
  Storage = "DLT-0"
  Messages = Standard
  Spool Data = yes
  Pool = Default
  Max Start Delay = 20h
  Priority = 10
}



JobDefs {
  Name = "InservitusJob"
  Type = Backup
  Level = Incremental
  Schedule = "WeeklyCycle"
  Storage = "DLT-1"
  Messages = Standard
  Spool Data = yes
  Pool = Inservitus
  Max Start Delay = 20h
  Priority = 10
}

JobDefs {
  Name = "LysdiskJob"
  Type = Backup
  Level = Incremental
  Schedule = "WeeklyCycle"
  Storage = "DLT-2"
  Messages = Standard
  Spool Data = yes
  Pool = Lysdisk
  Max Start Delay = 20h
  Priority = 10
}

JobDefs {
  Name = "ShermanJob"
  Type = Backup
  Level = Incremental
  Schedule = "WeeklyCycle"
  Storage = "DLT-3"
  Messages = Standard
  Spool Data = yes
  Pool = Sherman
  Max Start Delay = 20h
  Priority = 10
}

# Backup the catalog database (after the nightly save)
Job {
  Name = "BackupCatalog"
  Client = Baccus
  JobDefs = "DefaultJob"
  Level = Full
  FileSet="Catalog"
  Schedule = "WeeklyCycleAfterBackup"
  # This creates an ASCII copy of the catalog
  RunBeforeJob = "/opt/bacula/etc/make_catalog_backup -u bacula"
  # This deletes the copy of the catalog
  RunAfterJob  = "/opt/bacula/etc/delete_catalog_backup"
  Write Bootstrap = "/var/bacula/working/BackupCatalog.bsr"
  Priority = 11                   # run after main backup
}

# Standard Restore template, to be changed by Console program
Job {
  Name = "Restore"
  Type = Restore
  Client = Baccus
  FileSet="Baccus"                  
  Storage = "DLT-0"
  Pool = Default
  Messages = Standard
  Where = /tmp/bacula-restores
}


# Clients to backup --------------------------------------------------

#stalingrad
#hanna
#venom
#klorin
#britney
#sherman
#inservitus
#tokaimura
#u137

#elfwood
#hal
#sten
#sirius (skippa? Networkerservern...)


CLIENT(Baccus, baccus.ifm.liu.se, DefaultJob)
FileSet {
  Name = "Baccus"
  Include = signature=MD5 { 
    /
    /usr
    /var
    /opt
  }

  Exclude = { 
	/proc /tmp /var/tmp /devices /etc/mnttab /dev/fd /var/run 
 	/export
  }
}



CLIENT(Stalingrad, stalingrad.lysator.liu.se, DefaultJob)
FileSet {
  Name = "Stalingrad"
  Include = signature=MD5 { 
	/
	/cvsroot
  }
  Exclude = { 
	/proc /tmp /var/tmp /etc/mnttab /dev/fd /var/run /dev/shm
  }
}



CLIENT(Hanna, hanna.lysator.liu.se, DefaultJob)
FileSet {
  Name = "Hanna"
  Include = signature=MD5 { 
	/
	/var
	/local
	/export/hanna
  }
  Exclude = { 
	/proc /tmp /var/tmp /devices /etc/mnttab /dev/fd /var/run 
	/export/hanna/mirror
	/export/hanna/ftp/mirror
  }
}
  

CLIENT(Venom, venom.lysator.liu.se, DefaultJob)
FileSet {
  Name = "Venom"
  Include = signature=MD5 { 
	/
	/clone/dsk1
	/clone/dsk2
	/export/dsk1
	/export/dsk2
  }
  Exclude = { 
	/proc /tmp /var/tmp /devices /etc/mnttab /dev/fd /var/run 
  }
}


CLIENT(Klorin,     klorin.lysator.liu.se,     DefaultJob)
FileSet {
  Name = "Klorin"
  Include = signature=MD5 { 
	/
	/export/mdsk1
  }
  Exclude = { 
	/proc /tmp /var/tmp /devices /etc/mnttab /dev/fd /var/run 
  }
}
  

CLIENT(Britney,    britney.lysator.liu.se,    DefaultJob)
FileSet {
  Name = "Britney"
  Include = signature=MD5 { 
	/
	/export/dsk1
	/export/oldroot
	/export/lysdisk1
	/export/lysdisk3
	/export/lysdisk4
	/export/lysdisk6
	/export/lysdisk7
	/export/lysdisk8
	/export/lysdisk9
	/export/lysdisk11
  }
  Exclude = { 
	/proc /tmp /var/tmp /devices /etc/mnttab /dev/fd /var/run 
  }
}
  


CLIENT(Sherman,    sherman.lysator.liu.se, DefaultJob)
FileSet {
  Name = "Sherman"
  Include = signature=MD5 { 
	/
	/web
	/boot
	/var/opt/mysql
  }
  Exclude = { 
	/proc /tmp /var/tmp /etc/mnttab /dev/fd /var/run 
  }
}
  


CLIENT(U137, u137.lysator.liu.se, DefaultJob)
FileSet {
  Name = "U137"
  Include = signature=MD5 { 
	/
	/export/dsk1
	/export/dsk2
  }
  Exclude = { 
	/proc /tmp /var/tmp /etc/mnttab /dev/fd /var/run 
  }
}
  

CLIENT(Tokaimura, tokaimura.lysator.liu.se, DefaultJob)
FileSet {
  Name = "Tokaimura"
  Include = signature=MD5 { 
	/
	/usr
	/var
	/opt
	/export/mdsk
  }
  Exclude = { 
	/proc /tmp /var/tmp /devices /etc/mnttab /dev/fd /var/run 
  }
}


CLIENT(Inservitus, inservitus.lysator.liu.se, InservitusJob)
FileSet {
  Name = "Inservitus"
  Include = signature=MD5 { 
	/
	/var
	/export
	/export/d1
	/export/d2
	/export/d3
	/export/home
  }
  Exclude = { 
	/proc /tmp /var/tmp /devices /etc/mnttab /dev/fd /var/run 
	/export/snapshot
	/snapshot
  }
}



#
# 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 1:05
  Run = Differential 2nd-5th sun at 1:05
  Run = Incremental mon-sat at 1:05
}

# This schedule does the catalog. It starts after the WeeklyCycle
Schedule {
  Name = "WeeklyCycleAfterBackup"
  Run = Full sun-sat at 1:10
}

# This is the backup of the catalog
FileSet {
  Name = "Catalog"
  Include = signature=MD5 {
     /var/bacula/working/bacula.sql
  }
}


STORAGE(File-0, File,    baccus.ifm.liu.se)
STORAGE(DLT-0,  DLT7000, baccus.ifm.liu.se)
STORAGE(DLT-1,  DLT7000, baccus.ifm.liu.se)
STORAGE(DLT-2,  DLT7000, baccus.ifm.liu.se)
STORAGE(DLT-3,  DLT7000, baccus.ifm.liu.se)
STORAGE(DLT-4,  DLT7000, baccus.ifm.liu.se)
STORAGE(DLT-5,  DLT7000, baccus.ifm.liu.se)



# 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.
#
  mailcommand = "/opt/bacula/sbin/bsmtp -h ifm.liu.se -f \"\(Bacula\) bacula@ifm.liu.se\" -s \"Bacula: %t %e of %c %l\" %r"
  operatorcommand = "/opt/bacula/sbin/bsmtp -h ifm.liu.se -f \"\(Bacula\) bacula@ifm.liu.se\" -s \"Bacula: Intervention needed for %j\" %r"
  mail = peter@ifm.liu.se,backup-admin@lysator.liu.se = all, !skipped            
  operator = peter@ifm.liu.se,backup-admin@lysator.liu.se = 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/bacula/working/log" = all, !skipped
}


# Define Pools --------------------------------------
POOL(Default)
POOL(Inservitus)
POOL(Sherman)
POOL(Lysdisk)
