 #
# 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 1.39.28 (12 November 2006) -- redhat (Bordeaux)
#
#  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 = backupdir-dir
  DIRport = 9101                # where we listen for UA connections
  QueryFile = "/usr/local/bacula/etc/query.sql"
  WorkingDirectory = "/usr/local/bacula/working"
  PidDirectory = "/usr/local/bacula/var/run"
  Maximum Concurrent Jobs = 1
  Password = "xx"         # Console password
  Messages = Daemon
}

JobDefs {
  Name = "backupDefaultJob"
  Type = Backup
  Level = Incremental
  Schedule = "WeeklyCycle"
  Storage = File
  Messages = Standard
  Pool = Default
  Priority = 10
}
JobDefs {
  Name = "backupDefaultJob1"
  Type = Backup
  Level = Full
#  Schedule = "WeeklyCycle"
  Storage = File
  Messages = Standard
  Pool = Default
  Priority = 10
}
#
# Define the main nightly save backup job
#   By default, this job will back up to disk in /tmp

#-------------------------192.168.3.202-----------------
 Job {
  Name = "Client1"
  JobDefs = "backupDefaultJob"
  FileSet = backupSet
  client = backupdir-fd
  Write Bootstrap = "/usr/local/bacula/working/Client1.bsr"
}
FileSet {
  Name = "backupSet"
  Include {
    Options {
      Compression=GZIP
      signature = MD5
    }
#    
#  Put your list of files here, preceded by 'File =', one per line
#    or include an external list with:
#
#    File = <file-name
#
#  Note: / backs up everything on the root partition.
#    if you have other partitons such as /usr or /home
#    you will probably want to add them too.
#
#  By default this is defined to point to the Bacula build
#    directory to give a reasonable FileSet to backup to
#    disk storage during initial testing.

    File = /usr/local/bacula
  }


# If you backup the root directory, the following two excluded
#   files can be useful

  Exclude {
    File = /proc
    File = /tmp
    File = /.journal
    File = /.fsck
  }
}
# Client (File Services) to backup
Client {
  Name = backupdir-fd
  Address = 192.168.3.202
  FDPort = 9102
  Catalog = MyCatalog
  Password = "xx"          # password for FileDaemon
  File Retention = 30 days            # 30 days
  Job Retention = 6 months            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}


#--------------------vega.mocana.local---------------------------
Job {
  Name = "vega"
  Client = vega-fd
  FileSet = vegaSet
  JobDefs = "backupDefaultJob"
  Write Bootstrap = "/usr/local/bacula/working/vega.bsr"
}
FileSet {
  Name = "vegaSet"
  Include {
    Options {
      Compression=GZIP
      signature = MD5
    }

    File = "d:/Engineering"
    File = "d:/public"
    File = "d:/Users"
  }
}
Client {
  Name = vega-fd                
  Address = vega.mocana.local
  FDPort = 9102
  Catalog = MyCatalog
  Password = "xx"         # password for FileDaemon 2
  File Retention = 30 days            # 30 days
 Job Retention = 6 months            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}

#----------------------------acct-svr-------------------------
Job {
  Name = "acct-svr"
  Client = acct-svr-fd
  FileSet = acct-svrSet
  JobDefs = "backupDefaultJob"
  Write Bootstrap = "/usr/local/bacula/working/acct-svr.bsr"
}
FileSet {
  Name = "acct-svrSet"
 Enable VSS = yes 
Include {
    Options {
      Compression=GZIP
      signature = MD5
    }

    File = "c:/Accounting"
 
  }
}
Client {
  Name = acct-svr-fd                
  Address = acct-svr.mocana.local
  FDPort = 9102
  Catalog = MyCatalog
  Password = "xx"         # password for FileDaemon 2
  File Retention = 30 days            # 30 days
  Job Retention = 6 months            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}

#----------------------------mail3-------------------------
Job {
  Name = "mail3"
  Client = mail3-fd
  FileSet = mail3Set
  JobDefs = "backupDefaultJob1"
  Write Bootstrap = "/usr/local/bacula/working/mail.bsr"
  ClientRunBeforeJob = "/var/backups/stopservice.sh"
  ClientRunAfterJob = "/var/backups/startservice.sh"
}
FileSet {
  Name = "mail3Set"
  Include {
    Options {
      Compression=GZIP
      signature = MD5
    }

#Folder of backup database
    File = /var/backups
#Open-Xchange Server config files
    File = /etc/init.d/openexchange
    File = /opt/openexchange
    File = /var/spool
    File = /var/lib/imap
#Cyrus
    File = /etc/cyrus.conf
    File = /etc/init.d/cyrus-imapd
#Ox Admin
    File = /var/www/html/oxadm
#Postfix
    File = /etc/postfix
    File = /etc/init.d/postfix
#OpenLDAP
    File = /etc/openldap
    File = /etc/ldap.conf
#Smartsieve
    File = /var/www/html/smartsieve
#Postgresql
    File = /var/lib/pgsql/data
    File = /etc/init.d/postgresql
    File = /etc/sysconfig/postgresql
  }
}
Client {
  Name = mail3-fd                
  Address = mail3.mocana.local
  FDPort = 9102
  Catalog = MyCatalog
  Password = "xx"         # password for FileDaemon 2
  File Retention = 30 days            # 30 days
  Job Retention = 6 months            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}

#----------------------------mensa-------------------------
Job {
  Name = "mensa"
  Client = mensa-fd
  FileSet = mensaSet
  JobDefs = "backupDefaultJob"
  Write Bootstrap = "/usr/local/bacula/working/mensa.bsr"
}
FileSet {
  Name = "mensaSet"
  Include {
    Options {
      Compression=GZIP
      signature = MD5
    }

    File = /users
    File = /etc
    File = /usr/local/etc
 
  }
}
Client {
  Name = mensa-fd                
  Address = mensa.mocana.local
  FDPort = 9102
  Catalog = MyCatalog
  Password = "xx"         # password for FileDaemon 2
  File Retention = 30 days            # 30 days
  Job Retention = 6 months            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}
#----------------------------lyra-------------------------
Job {
  Name = "lyra"
  Client = lyra-fd
  FileSet = lyraSet
  JobDefs = "backupDefaultJob"
  Write Bootstrap = "/usr/local/bacula/working/lyra.bsr"
}
FileSet {
  Name = "lyraSet"
  Include {
    Options {
      Compression=GZIP
      signature = MD5
    }

    File = /tools
    File = /etc
    File = /usr/local/etc
    File = /home/svn
    File = /space/Backup
    File = /var/www/html
  }
}
Client {
  Name = lyra-fd                
  Address = lyra.mocana.local
  FDPort = 9102
  Catalog = MyCatalog
  Password = "xx"         # password for FileDaemon 2
  File Retention = 30 days            # 30 days
  Job Retention = 6 months            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}
###############################################################################

# Backup the catalog database (after the nightly save)
Job {
  Name = "BackupCatalog"
  JobDefs = "backupDefaultJob"
  Level = Full
  Client = backupdir-fd
  FileSet="Catalog"
  Schedule = "WeeklyCycleAfterBackup"
  # This creates an ASCII copy of the catalog
  RunBeforeJob = "/usr/local/bacula/etc/make_catalog_backup bacula bacula Newpass1"
  # This deletes the copy of the catalog
  RunAfterJob  = "/usr/local/bacula/etc/delete_catalog_backup"
  Write Bootstrap = "/usr/local/bacula/working/BackupCatalog.bsr"
  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=backupdir-fd                 
  FileSet="backupSet"                  
  Storage = File                      
  Pool = Default
  Messages = Standard
  Where = /tmp/bacula-restores
}


# List of files to be backed up

#
# 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 sun at 01:05
  Run = Incremental mon-sat at 01:05
}

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

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


#

# Definition of file storage device
Storage {
  Name = File
# Do not use "localhost" here    
  Address = backupsd.mocana.local        # N.B. Use a fully qualified name here
  SDPort = 9103
  Password = "xx"
  Device = FileStorage
  Media Type = File
}



# Definition of DDS tape storage device
#Storage {
#  Name = DDS-4    
#  Do not use "localhost" here
#  Address = backup                # N.B. Use a fully qualified name here
#  SDPort = 9103
#  Password = "xx"          # password for Storage daemon
#  Device = DDS-4                      # must be same as Device in Storage daemon
#  Media Type = DDS-4                  # must be same as MediaType in Storage daemon
#  Autochanger = yes                   # enable for autochanger device
#}

# Definition of 8mm tape storage device
#Storage {
#  Name = "8mmDrive"
#  Do not use "localhost" here
#  Address = backup                # N.B. Use a fully qualified name here
#  SDPort = 9103
#  Password = "xx"
#  Device = "Exabyte 8mm"
#  MediaType = "8mm"
#}

# Definition of DVD storage device
#Storage {
#  Name = "DVD"
#  Do not use "localhost" here
#  Address = backup                # N.B. Use a fully qualified name here
#  SDPort = 9103
#  Password = "xx"
#  Device = "DVD Writer"
#  MediaType = "DVD"
#}


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

# 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@mydomain.com', is better since that tends to
#  tell (most) people that its coming from an automated source.

#
  mailcommand = "/usr/local/bacula/sbin/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
  operatorcommand = "/usr/local/bacula/sbin/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 = "/usr/local/bacula/working/log" = all, !skipped
}


#
# Message delivery for daemon messages (no job).
Messages {
  Name = Daemon
  mailcommand = "/usr/local/bacula/sbin/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula daemon message\" %r"
  mail = root@localhost = all, !skipped            
  console = all, !skipped, !saved
  append = "/usr/local/bacula/working/log" = all, !skipped
}



    
# Default pool definition
Pool {
  Name = Default
  Use Volume Once = Yes
  Pool Type = Backup
  Recycle = yes                       # Bacula can automatically recycle Volumes
  AutoPrune = yes                     # Prune expired volumes
  LabelFormat = "${Job}-${Year}-${Month}-${Day}-${Hour}.${Minute}.${Second}"
  Maximum Volume Bytes = 4400000000
  Volume Retention = 60 days         # 60 days

}

#
# Restricted console used by tray-monitor to get the status of the director
#
Console {
  Name = backupdir-mon
  Password = "xx"
  CommandACL = status, .status
}

