]> git.sur5r.net Git - bacula/bacula/blobdiff - regress/scripts/bacula-dir-tape.conf.in
Big backport from Enterprise
[bacula/bacula] / regress / scripts / bacula-dir-tape.conf.in
index 02321c18b06bafb12675fe1c51fa7aff7aec3b71..d438b35f4a4aaeb3e1a614e621ebfd266ca22bdf 100644 (file)
 
 Director {                            # define myself
   Name = @hostname@-dir
-  DIRport = 8101                # where we listen for UA connections
+  DIRPort = @dirport@                # where we listen for UA connections
   QueryFile = "@scriptdir@/query.sql"
   WorkingDirectory = "@working_dir@"
   PidDirectory = "@piddir@"
-  Maximum Concurrent Jobs = 4
+  Maximum Concurrent Jobs = 100
   Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3"
   Messages = Daemon
+  FD Connect Timeout = 2min 
 }
 
 #
 # Define the main nightly save backup job
-#   By default, this job will back up to disk in /tmp
+#   By default, this job will back up to disk in @tmpdir@
 Job {
   Name = "NightlySave"
   Type = Backup
-  Client=@hostname@-fd 
+  Client = @hostname@-fd 
   FileSet="Full Set"
-  Storage = DDS-4
+  Storage = tape
   Messages = Standard
   Pool = Default
   Write Bootstrap = "@working_dir@/NightlySave.bsr"
-  Maximum Concurrent Jobs = 4
+  Maximum Concurrent Jobs = 100
   SpoolData = yes
 # Prefer Mounted Volumes = no
+  Max Run Time = 30min
 }
 
+
 Job {
   Name = "NightlySave1"
   Type = Backup
-  Client=@hostname@-fd 
+  Client = @hostname@-fd 
   FileSet="Full Set"
-  Storage = DDS-4
+  Storage = tape
   Messages = Standard
   Pool = Default
   Write Bootstrap = "@working_dir@/NightlySave.bsr"
-  Maximum Concurrent Jobs = 4
+  Maximum Concurrent Jobs = 100
   SpoolData = yes
 # Prefer Mounted Volumes = no
-  Client Run Before Job = "/bin/sleep 120"
+  Client Run Before Job = "sleep 5"
+  Max Run Time = 30min
 }
 
 Job {
   Name = "NightlySave2"
   Type = Backup
-  Client=@hostname@-fd 
-  FileSet="Full Set"
-  Storage = DDS-4
+  Client = @hostname@-fd 
+  FileSet = "Full Set"
+  Storage = tape
+  Messages = Standard
+  Pool = Default
+  Write Bootstrap = "@working_dir@/NightlySave.bsr"
+  Maximum Concurrent Jobs = 100
+  SpoolData = yes
+# Prefer Mounted Volumes = no
+  Max Run Time = 30min
+}
+
+# Backs up to tape2 which is a remote SD on
+#   another machine
+Job {
+  Name = "NightlySave3"
+  Type = Backup
+  Client = @hostname@-fd 
+  FileSet = "Full Set"
+  Storage = tape2
   Messages = Standard
   Pool = Default
   Write Bootstrap = "@working_dir@/NightlySave.bsr"
-  Maximum Concurrent Jobs = 4
+  Maximum Concurrent Jobs = 100
   SpoolData = yes
 # Prefer Mounted Volumes = no
+  Max Run Time = 30min
 }
 
 Job {
@@ -75,15 +97,30 @@ Job {
   Level = VolumeToCatalog
   Client=@hostname@-fd 
   FileSet="Verify Set"
-  Storage = DDS-4
+  Storage = tape
   Messages = Standard
   Pool = Default
   Write Bootstrap = "@working_dir@/NightlySave.bsr"
-  Maximum Concurrent Jobs = 4
+  Maximum Concurrent Jobs = 100
   SpoolData = yes
 # Prefer Mounted Volumes = no
+  Max Run Time = 30min
 }
 
+Job {
+  Name = "Virtual"
+  Type = Backup
+  Client=@hostname@-fd 
+  FileSet="Full Set"
+  Storage = Virtual
+  Messages = Standard
+  Pool = Default
+  Write Bootstrap = "@working_dir@/NightlySave.bsr"
+  Maximum Concurrent Jobs = 100
+  SpoolData = yes
+# Prefer Mounted Volumes = no
+  Max Run Time = 30min
+}
 
 
 
@@ -93,10 +130,11 @@ Job {
   Type = Restore
   Client=@hostname@-fd 
   FileSet="Full Set"
-  Storage = DDS-4
+  Storage = tape
   Messages = Standard
   Pool = Default
-  Where = /tmp/bacula-restores
+  Where = @tmpdir@/bacula-restores
+  Max Run Time = 30min
 }
 
 
@@ -104,7 +142,7 @@ Job {
 FileSet {
   Name = "Full Set"
   Include { Options { signature=MD5 }
-    File =  </tmp/file-list
+    File =  <@tmpdir@/file-list
   }
 }
 
@@ -115,7 +153,7 @@ FileSet {
        signature=MD5
        verify=pins1
     }
-    File =  </tmp/file-list
+    File =  <@tmpdir@/file-list
   }
 }
 
@@ -136,42 +174,171 @@ Schedule {
 Client {
   Name = @hostname@-fd
   Address = @hostname@
-  FDPort = 8102
+  FDPort = @fdport@
   Catalog = MyCatalog
   Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc"          # password for FileDaemon
   File Retention = 30d                # 30 days
   Job Retention = 180d                # six months
   AutoPrune = yes                     # Prune expired Jobs/Files
-  Maximum Concurrent Jobs = 4
+  Maximum Concurrent Jobs = 100
+}
+
+# Definition of File storage device
+Storage {
+  Name = File
+  Address = @hostname@                # N.B. Use a fully qualified name here
+  SDPort = @sdport@
+  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"          # password for Storage daemon
+  Device = FileStorage                # must be same as Device in Storage daemon
+  Media Type = FileMedia              # must be same as MediaType in Storage daemon
+  Maximum Concurrent Jobs = 100
+}
+
+# Definition of File2 storage device
+Storage {
+  Name = File2
+  Address = @hostname@                # N.B. Use a fully qualified name here
+  SDPort = @sdport@
+  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"          # password for Storage daemon
+  Device = FileStorage                # must be same as Device in Storage daemon
+  Media Type = FileMedia2             # must be same as MediaType in Storage daemon
+  Maximum Concurrent Jobs = 100
+}
+
+# Definition of File3 storage device
+Storage {
+  Name = File3
+  Address = @hostname@                # N.B. Use a fully qualified name here
+  SDPort = @sdport@
+  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"          # password for Storage daemon
+  Device = FileStorage                # must be same as Device in Storage daemon
+  Media Type = FileMedia3             # must be same as MediaType in Storage daemon
+  Maximum Concurrent Jobs = 100
+}
+
+# Definition of File4 storage device
+Storage {
+  Name = File4
+  Address = @hostname@                # N.B. Use a fully qualified name here
+  SDPort = @sdport@
+  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"          # password for Storage daemon
+  Device = FileStorage                # must be same as Device in Storage daemon
+  Media Type = FileMedia4             # must be same as MediaType in Storage daemon
+  Maximum Concurrent Jobs = 100
 }
 
 # Definition of DDS tape storage device
 Storage {
-  Name = DDS-4
+  Name = tape
   Address = @hostname@                # N.B. Use a fully qualified name here
-  SDPort = 8103
+  SDPort = @sdport@
   Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"          # 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
-  Maximum Concurrent Jobs = 4
+  Device = tape                      # must be same as Device in Storage daemon
+  Media Type = tape                  # must be same as MediaType in Storage daemon
+  Maximum Concurrent Jobs = 100
 # Autochanger = yes
 }
 
+# Definition tape storage device that is on a 
+#   remote machine
+Storage {
+  Name = tape2
+  Address = @hostname@        # For same machine shstore simulation
+# Address = @remotehostaddr@  # For real two machine setup
+  SDPort = @sdport@
+  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"          # password for Storage daemon
+  Device = tape2                     # must be same as Device in Storage daemon
+  Media Type = tape                  # must be same as MediaType in Storage daemon
+  Maximum Concurrent Jobs = 100
+# Autochanger = yes
+}
+
+
+# Definition of Virtual storage device
+Storage {
+  Name = Virtual
+  Address = @hostname@                # N.B. Use a fully qualified name here
+  SDPort = @sdport@
+  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"          # password for Storage daemon
+  Device = Virtual                    # must be same as Device in Storage daemon
+  Media Type = Disk                   # must be same as MediaType in Storage daemon
+  Maximum Concurrent Jobs = 100
+  Autochanger = yes
+}
+
+Storage {
+  Name = vDrive-1
+  Address = @hostname@                # N.B. Use a fully qualified name here
+  SDPort = @sdport@
+  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"          # password for Storage daemon
+  Device = vDrive-1                    # must be same as Device in Storage daemon
+  Media Type = Disk                   # must be same as MediaType in Storage daemon
+  Maximum Concurrent Jobs = 100
+  Autochanger = Virtual
+}
+
+Storage {
+  Name = vDrive-2
+  Address = @hostname@                # N.B. Use a fully qualified name here
+  SDPort = @sdport@
+  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"          # password for Storage daemon
+  Device = vDrive-2                    # must be same as Device in Storage daemon
+  Media Type = Disk                   # must be same as MediaType in Storage daemon
+  Maximum Concurrent Jobs = 100
+  Autochanger = Virtual
+}
+
+Storage {
+  Name = vDrive-3
+  Address = @hostname@                # N.B. Use a fully qualified name here
+  SDPort = @sdport@
+  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"          # password for Storage daemon
+  Device = vDrive-3                    # must be same as Device in Storage daemon
+  Media Type = Disk                   # must be same as MediaType in Storage daemon
+  Maximum Concurrent Jobs = 100
+  Autochanger = Virtual
+}
+
+
+# Definition of Virtual storage device
+Storage {
+  Name = VirtualRestore
+  Address = @hostname@                # N.B. Use a fully qualified name here
+  SDPort = @sdport@
+  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"          # password for Storage daemon
+  Device = VirtualRestore                    # must be same as Device in Storage daemon
+  Media Type = Disk                   # must be same as MediaType in Storage daemon
+  Maximum Concurrent Jobs = 100
+  Autochanger = yes
+}
+
+# Definition of Virtual storage device
+Storage {
+  Name = Virtual2
+  Address = @hostname@                # N.B. Use a fully qualified name here
+  SDPort = @sdport@
+  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"          # password for Storage daemon
+  Device = Virtual2                    # must be same as Device in Storage daemon
+  Media Type = Disk2                   # must be same as MediaType in Storage daemon
+  Maximum Concurrent Jobs = 100
+  Autochanger = yes
+}
 
 # Generic catalog service
 Catalog {
   Name = MyCatalog
-  dbname = bacula; user = bacula; password = ""
+  @libdbi@
+  dbname = @db_name@; user = @db_user@; password = "@db_password@"
 }
 
 # Reasonable message delivery -- send most everything to email address
 #  and to the console
 Messages {
   Name = Standard
-  mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula Regression Job %j\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
-  operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula Regression Job %j\) %r\" -s \"Bacula: Intervention needed for %j\" %r"
-  MailOnError = @job_email@ = all, !terminate
-  operator = @job_email@ = mount
+  mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression Job %j\) %r\" -s \"Regression: %t %e of %c %l\" %r"
+  operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression Job %j\) %r\" -s \"Regression: Intervention needed for %j\" %r"
+# MailOnError = @job_email@ = all, !terminate
+# operator = @job_email@ = mount
   console = all, !skipped, !terminate, !restored
 #
 # WARNING! the following will create a file that you must cycle from
@@ -179,16 +346,18 @@ Messages {
 #          also keep all your messages if the scroll off the console.
 #
   append = "@working_dir@/log" = all, !skipped
+  catalog = 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            
+  mailcommand = "@sbindir@/bsmtp -h @smtp_host@ -f \"\(Bacula regression\) %r\" -s \"Regression daemon message\" %r"
+# mail = @job_email@ = all, !skipped            
   console = all, !skipped, !saved
   append = "@working_dir@/log" = all, !skipped
+  catalog = all, !skipped
 }
 
     
@@ -199,6 +368,7 @@ Pool {
   Recycle = yes                       # Bacula can automatically recycle Volumes
   AutoPrune = yes                     # Prune expired volumes
   Volume Retention = 365d             # one year
+  RecyclePool=Scratch                 # test forward reference
 }
 
 Pool {
@@ -223,4 +393,84 @@ Pool {
   Recycle = yes                       # Bacula can automatically recycle Volumes
   AutoPrune = yes                     # Prune expired volumes
   Volume Retention = 365d             # one year
+  Recycle Pool = Scratch              # recycle back here
+}
+
+Pool {
+  Name = PoolA-MCJ1
+  Pool Type = Backup
+  Recycle = yes                       # Bacula can automatically recycle Volumes
+  AutoPrune = yes                     # Prune expired volumes
+  ActionOnPurge = Truncate
+  Volume Retention = 3d
+  Maximum Volume Bytes = 20M
+  Maximum Volume Jobs = 1
+  LabelFormat = "PoolA-MCJ1"
+}
+
+Pool {
+  Name = PoolB-MCJ1
+  Pool Type = Backup
+  Recycle = yes                       # Bacula can automatically recycle Volumes
+  AutoPrune = yes                     # Prune expired volumes
+  ActionOnPurge = Truncate
+  Volume Retention = 3d
+  Maximum Volume Bytes = 20M
+  Maximum Volume Jobs = 1
+  LabelFormat = "PoolB-MCJ1"
+}
+
+Pool {
+  Name = PoolC-MCJ1
+  Pool Type = Backup
+  Recycle = yes                       # Bacula can automatically recycle Volumes
+  AutoPrune = yes                     # Prune expired volumes
+  ActionOnPurge = Truncate
+  Volume Retention = 3d
+  Maximum Volume Bytes = 20M
+  Maximum Volume Jobs = 1
+  LabelFormat = "PoolC-MCJ1"
+}
+
+Pool {
+  Name = PoolD-MCJ1
+  Pool Type = Backup
+  Recycle = yes                       # Bacula can automatically recycle Volumes
+  AutoPrune = yes                     # Prune expired volumes
+  ActionOnPurge = Truncate
+  Volume Retention = 3d
+  Maximum Volume Bytes = 20M
+  Maximum Volume Jobs = 1
+  LabelFormat = "PoolD-MCJ1"
+}
+
+Pool {
+  Name = PoolE-MCJ1
+  Pool Type = Backup
+  Recycle = yes                       # Bacula can automatically recycle Volumes
+  AutoPrune = yes                     # Prune expired volumes
+  ActionOnPurge = Truncate
+  Volume Retention = 3d
+  Maximum Volume Bytes = 20M
+  Maximum Volume Jobs = 1
+  LabelFormat = "PoolE-MCJ1"
+}
+
+Pool {
+  Name = Special
+  Pool Type = Backup
+  Recycle = yes                       # Bacula can automatically recycle Volumes
+  AutoPrune = yes                     # Prune expired volumes
+  Volume Retention = 365d             # one year
+  ScratchPool = SpecialScratch
+  Maximum Volume Jobs = 1
+}
+
+Pool {
+  Name = SpecialScratch
+  Pool Type = Backup
+  Recycle = yes                       # Bacula can automatically recycle Volumes
+  AutoPrune = yes                     # Prune expired volumes
+  Volume Retention = 365d             # one year
+  Recycle Pool = SpecialScratch       # recycle back here
 }