]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/dird/bacula-dir.conf.in
fix typo
[bacula/bacula] / bacula / src / dird / bacula-dir.conf.in
index fc07bc837dc1f39d608c165f27e6dbc2af84e940..080d59a08a1183133160c7b43f1f212b8555284b 100644 (file)
 #
 
 Director {                            # define myself
-  Name = @hostname@-dir
+  Name = @basename@-dir
   DIRport = @dir_port@                # where we listen for UA connections
   QueryFile = "@scriptdir@/query.sql"
   WorkingDirectory = "@working_dir@"
   PidDirectory = "@piddir@"
   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 = @basename@-fd 
+  FileSet = "Full Set"
   Schedule = "WeeklyCycle"
   Storage = File
   Messages = Standard
-  Pool = Default
-  Write Bootstrap = "@working_dir@/NightlySave.bsr"
+  Pool = File
+  Priority = 10
+  Write Bootstrap = "@working_dir@/%c.bsr"
 }
 
+
+#
+# Define the main nightly save backup job
+#   By default, this job will back up to disk in @archivedir@
+Job {
+  Name = "BackupClient1"
+  JobDefs = "DefaultJob"
+}
+
+#Job {
+#  Name = "BackupClient2"
+#  Client = @basename@2-fd
+#  JobDefs = "DefaultJob"
+#}
+
 # 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"
+  # Arguments to make_catalog_backup.pl are:
+  #  make_catalog_backup.pl <catalog-name>
+  RunBeforeJob = "@scriptdir@/make_catalog_backup.pl MyCatalog"
   # This deletes the copy of the catalog
   RunAfterJob  = "@scriptdir@/delete_catalog_backup"
-  Write Bootstrap = "@working_dir@/BackupCatalog.bsr"
+  Write Bootstrap = "@working_dir@/%n.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=@basename@-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
+#    if you have other partitions such as /usr or /home
 #    you will probably want to add them too.
 #
-#  By default this is defined to point to the Bacula build
+#  By default this is defined to point to the Bacula binary
 #    directory to give a reasonable FileSet to backup to
 #    disk storage during initial testing.
 #
-    @BUILD_DIR@
+    File = @sbindir@
   }
 
 #
 # If you backup the root directory, the following two excluded
 #   files can be useful
 #
-  Exclude = { /proc /tmp /.journal /.fsck }
+  Exclude {
+    File = @working_dir@
+    File = @archivedir@
+    File = /proc
+    File = /tmp
+    File = /.journal
+    File = /.fsck
+  }
 }
 
 #
@@ -102,40 +129,60 @@ 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@/@db_name@.sql"
   }
 }
 
 # Client (File Services) to backup
 Client {
-  Name = @hostname@-fd
+  Name = @basename@-fd
   Address = @hostname@
   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 = @basename@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@"
@@ -143,29 +190,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@"
@@ -173,36 +215,99 @@ 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
+@uncomment_dbi@ dbdriver = "dbi:@DB_TYPE@"; dbaddress = 127.0.0.1; dbport = @db_port@
+  dbname = "@db_name@"; dbuser = "@db_user@"; dbpassword = "@db_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
+  catalog = all
+}
+
+
+#
+# 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 {
   Name = Default
   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
+}
+
+# File Pool definition
+Pool {
+  Name = File
+  Pool Type = Backup
+  Recycle = yes                       # Bacula can automatically recycle Volumes
+  AutoPrune = yes                     # Prune expired volumes
+  Volume Retention = 365 days         # one year
+  Maximum Volume Bytes = 50G          # Limit Volume size to something reasonable
+  Maximum Volumes = 100               # Limit number of Volumes in Pool
+}
+
+
+# Scratch pool definition
+Pool {
+  Name = Scratch
+  Pool Type = Backup
+}
+
+#
+# Restricted console used by tray-monitor to get the status of the director
+#
+Console {
+  Name = @basename@-mon
+  Password = "@mon_dir_password@"
+  CommandACL = status, .status
 }