]> 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 1b1e7d2801d86498792087ad028aae7f8a357d49..c39f672118fbe9176683783a93b55ed4ad808d80 100644 (file)
@@ -18,66 +18,88 @@ Director {                            # define myself
   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 main nightly save backup job
-#   By default, this job will back up to disk in /tmp
-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 = File
   Messages = Standard
   Pool = Default
-  Write Bootstrap = "@working_dir@/NightlySave.bsr"
+  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"
-  Type = Backup
-  Client=@hostname@-fd 
+  JobDefs = "DefaultJob"
+  Level = Full
   FileSet="Catalog"
   Schedule = "WeeklyCycleAfterBackup"
-  Storage = File
-  Messages = Standard
-  Pool = Default
   # This creates an ASCII copy of the catalog
-  RunBeforeJob = "@scriptdir@/make_catalog_backup -u bacula"
+  # 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"
   Type = Restore
-  Client=@hostname@-fd 
-  FileSet="Full Set"
-  Storage = File
-  Messages = Standard
+  Client=@hostname@-fd                 
+  FileSet="Full Set"                  
+  Storage = File                      
   Pool = Default
-  Where = /tmp/bacula-restores
+  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 on the root partition.
 #    if you have other partitons such as /usr or /home
@@ -87,14 +109,19 @@ FileSet {
 #    directory to give a reasonable FileSet to backup to
 #    disk storage during initial testing.
 #
-    @BUILD_DIR@
+    File = @BUILD_DIR@
   }
 
 #
 # If you backup the root directory, the following two excluded
 #   files can be useful
 #
-  Exclude = { /proc /tmp /.journal /.fsck }
+  Exclude {
+    File = /proc
+    File = /tmp
+    File = /.journal
+    File = /.fsck
+  }
 }
 
 #
@@ -103,22 +130,25 @@ FileSet {
 #  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
+  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 1:10
+  Run = Full sun-sat at 23:10
 }
 
 # This is the backup of the catalog
 FileSet {
   Name = "Catalog"
-  Include = signature=MD5 {
-     @working_dir@/bacula.sql
+  Include {
+    Options {
+      signature = MD5
+    }
+    File = @working_dir@/bacula.sql
   }
 }
 
@@ -129,14 +159,31 @@ Client {
   FDPort = @fd_port@
   Catalog = MyCatalog
   Password = "@fd_password@"          # password for FileDaemon
-  File Retention = 30d                # 30 days
-  Job Retention = 180d                # six months
+  File Retention = 30 days            # 30 days
+  Job Retention = 6 months            # six months
   AutoPrune = yes                     # Prune expired Jobs/Files
 }
 
-# Definiton of file storage device
+#
+# 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 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@"
@@ -144,29 +191,24 @@ Storage {
   Media Type = File
 }
 
-# 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
+#  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 = SDT-10000                  # must be same as Device in 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@"
@@ -174,29 +216,68 @@ Storage {
 #  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 the scroll off the console.
+#          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 {
@@ -204,6 +285,20 @@ Pool {
   Pool Type = Backup
   Recycle = yes                       # Bacula can automatically recycle Volumes
   AutoPrune = yes                     # Prune expired volumes
-  Volume Retention = 365d             # one year
-  Accept Any Volume = yes             # write on any volume in the pool
+  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
 }