]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/dird/bacula-dir.conf.in
Apply patch (with some difficulties) from Joao Henrique Freitas
[bacula/bacula] / bacula / src / dird / bacula-dir.conf.in
index fd42c29fd33bc7f4b7cd4c959a72daea15591f1e..c39f672118fbe9176683783a93b55ed4ad808d80 100644 (file)
 Director {                            # define myself
   Name = @hostname@-dir
   DIRport = @dir_port@                # where we listen for UA connections
-  QueryFile = "@sysconfdir@/query.sql"
+  QueryFile = "@scriptdir@/query.sql"
   WorkingDirectory = "@working_dir@"
   PidDirectory = "@piddir@"
-  SubSysDirectory = "@subsysdir@"
   Maximum Concurrent Jobs = 1
   Password = "@dir_password@"         # Console password
-  Messages = Standard
+  Messages = Daemon
 }
 
-# Define the backup Job
-Job {
-  Name = "NightlySave"
+JobDefs {
+  Name = "DefaultJob"
   Type = Backup
-  Client=@hostname@-fd 
-  FileSet="Full Set"
+  Level = Incremental
+  Client = @hostname@-fd 
+  FileSet = "Full Set"
   Schedule = "WeeklyCycle"
-  Storage = DLTDrive
+  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 @archivedir@
+Job {
+  Name = "Client1"
+  JobDefs = "DefaultJob"
+  Write Bootstrap = "@working_dir@/Client1.bsr"
+}
+
+#Job {
+#  Name = "Client2"
+#  Client = @hostname@2-fd
+#  JobDefs = "DefaultJob"
+#  Write Bootstrap = "@working_dir@/Client2.bsr"
+#}
+
+# Backup the catalog database (after the nightly save)
+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 = "@scriptdir@/make_catalog_backup @db_name@ @db_user@"
+  # This deletes the copy of the catalog
+  RunAfterJob  = "@scriptdir@/delete_catalog_backup"
+  Write Bootstrap = "@working_dir@/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
+  Name = "RestoreFiles"
   Type = Restore
-  Client=@hostname@-fd 
-  FileSet="Full Set"
-  Storage = DLTDrive
-  Messages = Standard
+  Client=@hostname@-fd                 
+  FileSet="Full Set"                  
+  Storage = File                      
   Pool = Default
-  Where = /tmp
+  Messages = Standard
+  Where = @archivedir@/bacula-restores
 }
 
 
 # List of files to be backed up
 FileSet {
   Name = "Full Set"
-  Include = signature=MD5 { 
+  Include {
+    Options {
+      signature = MD5
+    }
 #    
-#  Put your list of files here, one per line or include an
-#    external list with:
+#  Put your list of files here, preceded by 'File =', one per line
+#    or include an external list with:
 #
-#    @file-name
+#    File = <file-name
 #
-#  Note: / backs up everything
-
-  /
+#  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 = @BUILD_DIR@
+  }
 
+#
+# If you backup the root directory, the following two excluded
+#   files can be useful
+#
+  Exclude {
+    File = /proc
+    File = /tmp
+    File = /.journal
+    File = /.fsck
   }
-  Exclude = { }
 }
 
-# When to do the backups
+#
+# 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 1:05
-  Run = Incremental mon-sat at 1:05
+  Run = Full 1st sun at 23:05
+  Run = Differential 2nd-5th sun at 23:05
+  Run = Incremental mon-sat at 23: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 = @working_dir@/bacula.sql
+  }
 }
 
 # Client (File Services) to backup
@@ -81,45 +159,31 @@ Client {
   FDPort = @fd_port@
   Catalog = MyCatalog
   Password = "@fd_password@"          # password for FileDaemon
-  File Retention = 180d               # six months
-  Job Retention = 365d                # one year
+  File Retention = 30 days            # 30 days
+  Job Retention = 6 months            # six months
   AutoPrune = yes                     # Prune expired Jobs/Files
 }
 
+#
+# Second Client (File Services) to backup
+#  You should change Name, Address, and Password before using
+#
+#Client {
+#  Name = @hostname@2-fd                
+#  Address = @hostname@2
+#  FDPort = @fd_port@
+#  Catalog = MyCatalog
+#  Password = "@fd_password@2"         # password for FileDaemon 2
+#  File Retention = 30 days            # 30 days
+#  Job Retention = 6 months            # six months
+#  AutoPrune = yes                     # Prune expired Jobs/Files
+#}
 
-# Definition of DLT tape storage device
-Storage {
-  Name = DLTDrive
-  Address = @hostname@                # N.B. Use a fully qualified name here
-  SDPort = @sd_port@
-  Password = "@sd_password@"          # password for Storage daemon
-  Device = "HP DLT 80"                # must be same as Device in Storage daemon
-  Media Type = DLT8000                # must be same as MediaType in Storage daemon
-}
-
-# Definition of DDS tape storage device
-Storage {
-  Name = SDT-10000
-  Address = @hostname@                # N.B. Use a fully qualified name here
-  SDPort = @sd_port@
-  Password = "@sd_password@"          # password for Storage daemon
-  Device = SDT-10000                  # must be same as Device in Storage daemon
-  Media Type = DDS-4                  # must be same as MediaType in Storage daemon
-}
-
-# Definition of 8mm tape storage device
-Storage {
-  Name = "8mmDrive"
-  Address = @hostname@                # N.B. Use a fully qualified name here
-  SDPort = @sd_port@
-  Password = "@sd_password@"
-  Device = "Exabyte 8mm"
-  MediaType = "8mm"
-}
 
-# Definiton of file storage device
+# Definition of file storage device
 Storage {
   Name = File
+# Do not use "localhost" here    
   Address = @hostname@                # N.B. Use a fully qualified name here
   SDPort = @sd_port@
   Password = "@sd_password@"
@@ -128,22 +192,92 @@ Storage {
 }
 
 
+
+# Definition of DDS tape storage device
+#Storage {
+#  Name = DDS-4    
+#  Do not use "localhost" here
+#  Address = @hostname@                # N.B. Use a fully qualified name here
+#  SDPort = @sd_port@
+#  Password = "@sd_password@"          # 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 = @hostname@                # N.B. Use a fully qualified name here
+#  SDPort = @sd_port@
+#  Password = "@sd_password@"
+#  Device = "Exabyte 8mm"
+#  MediaType = "8mm"
+#}
+
+# Definition of DVD storage device
+#Storage {
+#  Name = "DVD"
+#  Do not use "localhost" here
+#  Address = @hostname@                # N.B. Use a fully qualified name here
+#  SDPort = @sd_port@
+#  Password = "@sd_password@"
+#  Device = "DVD Writer"
+#  MediaType = "DVD"
+#}
+
+
 # Generic catalog service
 Catalog {
   Name = MyCatalog
-  dbname = bacula; user = bacula; password = ""
+# Uncomment the following line if you want the dbi driver
+# dbdriver = "dbi:mysql"; dbaddress = 127.0.0.1; dbport = 3306
+  dbname = @db_name@; user = @db_user@; password = ""
 }
 
 # Reasonable message delivery -- send most everything to email address
 #  and to the console
 Messages {
   Name = Standard
-  mailcommand = "@sbindir@/smtp -h @smtp_host@ -f \"Bacula <%r>\" -s \"Bacula: %t %e of %c %l\" %r"
-  operatorcommand = "@sbindir@/smtp -h @smtp_host@ -f \"Bacula <%r>\" -s \"Bacula: Intervention needed for %j\" %r"
+#
+# 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 = "@sbindir@/bsmtp -h @smtp_host@ -f \"\(Bacula\) \<%r\>\" -s \"Bacula: %t %e of %c %l\" %r"
+  operatorcommand = "@sbindir@/bsmtp -h @smtp_host@ -f \"\(Bacula\) \<%r\>\" -s \"Bacula: Intervention needed for %j\" %r"
   mail = @job_email@ = all, !skipped            
   operator = @job_email@ = 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 = "@working_dir@/log" = all, !skipped
+}
+
+
+#
+# Message delivery for daemon messages (no job).
+Messages {
+  Name = Daemon
+  mailcommand = "@sbindir@/bsmtp -h @smtp_host@ -f \"\(Bacula\) \<%r\>\" -s \"Bacula daemon message\" %r"
+  mail = @job_email@ = all, !skipped            
+  console = all, !skipped, !saved
+  append = "@working_dir@/log" = all, !skipped
 }
+
+
+
     
 # Default pool definition
 Pool {
@@ -151,5 +285,20 @@ Pool {
   Pool Type = Backup
   Recycle = yes                       # Bacula can automatically recycle Volumes
   AutoPrune = yes                     # Prune expired volumes
-  Volume Retention = 365d             # one year
+  Volume Retention = 365 days         # one year
+}
+
+# Scratch pool definition
+Pool {
+  Name = Scratch
+  Pool Type = Backup
+}
+
+#
+# Restricted console used by tray-monitor to get the status of the director
+#
+Console {
+  Name = @hostname@-mon
+  Password = "@mon_dir_password@"
+  CommandACL = status, .status
 }