]> git.sur5r.net Git - bacula/bacula/commitdiff
Setup for two drives
authorKern Sibbald <kern@sibbald.com>
Tue, 2 Aug 2005 16:32:37 +0000 (16:32 +0000)
committerKern Sibbald <kern@sibbald.com>
Tue, 2 Aug 2005 16:32:37 +0000 (16:32 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@2279 91ce42f0-d328-0410-95d8-f526ca767f89

regress/README
regress/prototype.conf
regress/scripts/bacula-dir-win32-tape.conf [new file with mode: 0644]
regress/scripts/bacula-sd-2drive.conf.in [new file with mode: 0644]
regress/scripts/bacula-sd-2tape.conf.in
regress/scripts/copy-2drive-confs [new file with mode: 0755]
regress/scripts/do_sed
regress/tests/bsr-opt-test

index c63b737ed7c1c8e466cc1ea64e4f315e613b2b97..96b9ce57e9192c77c8f1b393ebaf3129d7c5887a 100644 (file)
@@ -1,10 +1,7 @@
-      Bacula Regression
-        Kern Sibbald
-        December 2003
+             Bacula Regression
+               Kern Sibbald
 
-This is Bacula's regression script directory.  At this time
-(December 2003), it is still in development, so all the tests are
-not complete.
+This is Bacula's regression script directory.
 
 To set it up, create your personal configuration file, by
 copying prototype.conf to xxx.conf or simply editing prototype.conf
@@ -82,7 +79,7 @@ configuration file.
 To avoid re-doing a make setup if you have made a change to the
 conf files, and you do not need a new copy of the source, you can simply do:
 
-   scripts/do-sed <your-email-address>
+   make sed
 
 Debugging failed tests:
 The simplest thing to do is to edit tests/xxxx where xxxx is the name of
index 14592a3f944de5351e490689c44feacc6a539a06..70d931f8ffaf6bc84fd7546248671946a350bf4b 100644 (file)
@@ -25,6 +25,7 @@ SQLITE_DIR=${HOME}/bacula/depkgs/sqlite
 # The device name of your tape drive if you have one
 #
 TAPE_DRIVE=/dev/nst0
+TAPE_DRIVE1=/dev/null
 
 #
 # if you don't have an autochanger set AUTOCHANGER to /dev/null
@@ -35,3 +36,11 @@ AUTOCHANGER=/dev/sg0
 # This must be the path to the autochanger including its name
 #
 AUTOCHANGER_PATH=/bin/mtx
+
+# Set your database here
+WHICHDB?="--with-sqlite=${SQLITE_DIR}"
+#WHICHDB="--with-mysql=${HOME}/mysql"
+
+# Set this to "--with-tcp-wrappers" or "--without-tcp-wrappers"
+TCPWRAPPERS="--with-tcp-wrappers"
+
diff --git a/regress/scripts/bacula-dir-win32-tape.conf b/regress/scripts/bacula-dir-win32-tape.conf
new file mode 100644 (file)
index 0000000..84898c7
--- /dev/null
@@ -0,0 +1,145 @@
+#
+# 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.33
+#
+#  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 = roxie-dir
+  DIRport = 8101                # where we listen for UA connections
+  QueryFile = "/home/kern/bacula/regress/bin/query.sql"
+  WorkingDirectory = "/home/kern/bacula/regress/working"
+  PidDirectory = "/home/kern/bacula/regress/working"
+  Maximum Concurrent Jobs = 4
+  Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3"
+  Messages = Daemon
+}
+
+#
+# Define the main nightly save backup job
+#   By default, this job will back up to disk in /tmp
+Job {
+  Name = "NightlySave"
+  Type = Backup
+  Client=Tibs
+  FileSet="Full Set"
+  Storage = DDS-4
+  Messages = Standard
+  Pool = Default
+  Write Bootstrap = "/home/kern/bacula/regress/working/NightlySave.bsr"
+  Maximum Concurrent Jobs = 4
+  SpoolData = yes
+}
+
+
+# Standard Restore template, to be changed by Console program
+Job {
+  Name = "RestoreFiles"
+  Type = Restore
+  Client=Tibs
+  FileSet="Full Set"
+  Storage = DDS-4
+  Messages = Standard
+  Pool = Default
+  Where = /tmp/bacula-restores
+}
+
+
+# List of files to be backed up
+FileSet {
+  Name = "Full Set"
+  Enable VSS = yes
+  Include { Options { signature=MD5 }
+    File =  "c:"
+  }
+}
+
+
+#
+# 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 1st sun at 1:05
+  Run = Differential 2nd-5th sun at 1:05
+  Run = Incremental mon-sat at 1:05
+}
+
+# Client (File Services) to backup
+Client {
+  Name = Tibs
+  Address = tibs
+  FDPort = 9102
+  Catalog = MyCatalog
+  Password = "xBzFq+a9llZyGyfMaNO9e3outP86/1AUAT8P34RoT62G"
+  File Retention = 30d                # 30 days
+  Job Retention = 180d                # six months
+  AutoPrune = yes                     # Prune expired Jobs/Files
+  Maximum Concurrent Jobs = 4
+}
+
+# Definition of DDS tape storage device
+Storage {
+  Name = DDS-4
+  Address = 192.168.68.112            # N.B. Use a fully qualified name here
+  SDPort = 8103
+  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
+  AutoChanger = yes
+  Maximum Concurrent Jobs = 4
+}
+
+
+# Generic catalog service
+Catalog {
+  Name = MyCatalog
+  dbname = bacula; user = bacula; password = ""
+}
+
+# Reasonable message delivery -- send most everything to email address
+#  and to the console
+Messages {
+  Name = Standard
+  mailcommand = "/home/kern/bacula/regress/bin/bsmtp -h localhost -f \"\(Bacula Regression\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
+  operatorcommand = "/home/kern/bacula/regress/bin/bsmtp -h localhost -f \"\(Bacula Regression\) %r\" -s \"Bacula: Intervention needed for %j\" %r"
+  MailOnError = kern@sibbald.com = all, !terminate
+  operator = kern@sibbald.com = mount
+  console = all, !skipped, !terminate, !restored
+#
+# 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.
+#
+  append = "/home/kern/bacula/regress/working/log" = all, !skipped
+}
+
+#
+# Message delivery for daemon messages (no job).
+Messages {
+  Name = Daemon
+  mailcommand = "/home/kern/bacula/regress/bin/bsmtp -h @smtp_host@ -f \"\(Bacula\) %r\" -s \"Bacula daemon message\" %r"
+  mail = kern@sibbald.com = all, !skipped            
+  console = all, !skipped, !saved
+  append = "/home/kern/bacula/regress/working/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
+}
diff --git a/regress/scripts/bacula-sd-2drive.conf.in b/regress/scripts/bacula-sd-2drive.conf.in
new file mode 100644 (file)
index 0000000..6b56927
--- /dev/null
@@ -0,0 +1,75 @@
+#
+# Default Bacula Storage Daemon Configuration file
+#
+#  For Bacula release 1.33
+#
+# You may need to change the name of your tape drive
+#   on the "Archive Device" directive in the Device
+#   resource.  If you change the Name and/or the 
+#   "Media Type" in the Device resource, please ensure
+#   that dird.conf has corresponding changes.
+#
+
+Storage {                             # definition of myself
+  Name = @hostname@-sd
+  SDPort = 8103                  # Director's port      
+  WorkingDirectory = "@working_dir@"
+  Pid Directory = "@piddir@"
+  Subsys Directory = "@subsysdir@"
+}
+
+#
+# List Directors who are permitted to contact Storage daemon
+#
+Director {
+  Name = @hostname@-dir
+  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
+}
+
+#
+# Devices supported by this Storage daemon
+# To connect, the Director's bacula-dir.conf must have the
+#  same Name and MediaType. 
+#
+Autochanger {
+  Name = DDS-4
+  Changer Device = @autochanger@
+  Changer Command ="@scriptdir@/mtx-changer %c %o %S %a"
+  Device = Drive-0, Drive-1
+}
+
+Device {
+  Name = Drive-0
+  Media Type = DDS-4
+  Archive Device = @tape_drive@
+  AutomaticMount = yes;               # when device opened, read it
+  Autochanger = yes
+  Drive Index = 0
+  AlwaysOpen = yes;
+  RemovableMedia = yes;
+  @@sbindir@/tape_options
+# Maximum File Size = 1000000
+}
+
+Device {
+  Name = Drive-1
+  Media Type = DDS-4
+  Archive Device = @tape_drive1@
+  AutomaticMount = yes;               # when device opened, read it
+  Autochanger = yes
+  Drive Index = 0
+  AlwaysOpen = yes;
+  RemovableMedia = yes;
+  @@sbindir@/tape_options
+# Maximum File Size = 1000000
+}
+
+
+# 
+# Send all messages to the Director, 
+# mount messages also are sent to the email address
+#
+Messages {
+  Name = Standard
+  director = @hostname@-dir = all, !terminate
+}
index 63e541b91c964cb827af51d9b8a9b08cc6d502f4..3e9f83a595079979ca17ec4af5411fe53b24be4f 100644 (file)
@@ -35,11 +35,11 @@ Autochanger {
   Name = DDS-4
   Changer Device = @autochanger@
   Changer Command ="@scriptdir@/mtx-changer %c %o %S %a"
-  Device = DDS-4-1
+  Device = Drive-0
 }
 
 Device {
-  Name = DDS-4-1                   # 
+  Name = Drive-0                   # 
   Media Type = DDS-4
   Archive Device = @tape_drive@
   AutomaticMount = yes;               # when device opened, read it
diff --git a/regress/scripts/copy-2drive-confs b/regress/scripts/copy-2drive-confs
new file mode 100755 (executable)
index 0000000..5877cea
--- /dev/null
@@ -0,0 +1,6 @@
+#!/bin/sh
+/bin/cp -f scripts/bacula-dir-tape.conf bin/bacula-dir.conf
+/bin/cp -f scripts/bacula-sd-2drive.conf bin/bacula-sd.conf
+/bin/cp -f scripts/test-bacula-fd.conf bin/bacula-fd.conf
+/bin/cp -f scripts/test-console.conf bin/bconsole.conf
+touch bin/tape_options
index 046e7ab3e6d2b132d80f62933b7a5f10717322fa..d7af152034ade96611070608ad22958361793e92 100755 (executable)
@@ -1,10 +1,11 @@
 #!/bin/sh
 #
-if test $# != 4 ; then
+if test $# != 5 ; then
    echo "First arg must be email name"
    echo "  and the second must be a tape drive"
    echo "  and the third must be a tape control name or /dev/null"
    echo "  and the fourth must be the full path to the mtx program"
+   echo "  and the fifth must be tape drive 1 or /dev/null"
    exit 1
 fi
 out="/tmp/sed_tmp"
@@ -25,6 +26,7 @@ echo "s%@autochanger@%${3}%g" >>${out}
 echo "s%@tmpdir@%${cwd}/tmp%g" >>${out}
 echo "s%@hostname@%${host}%g" >>${out}
 echo "s%@changer_path@%${4}%g" >>${out}
+echo "s%@tape_drive1@%${5}%g" >>${out}
 
 # process .in files with sed script
 sed -f ${out} ${cwd}/scripts/test-bacula-dir.conf.in >${cwd}/scripts/test-bacula-dir.conf
@@ -37,6 +39,7 @@ sed -f ${out} ${cwd}/scripts/bacula-dir-tape.conf.in >${cwd}/scripts/bacula-dir-
 sed -f ${out} ${cwd}/scripts/bacula-dir-win32-tape.conf.in >${cwd}/scripts/bacula-dir-win32-tape.conf
 sed -f ${out} ${cwd}/scripts/bacula-sd-tape.conf.in >${cwd}/scripts/bacula-sd-tape.conf
 sed -f ${out} ${cwd}/scripts/bacula-sd-2tape.conf.in >${cwd}/scripts/bacula-sd-2tape.conf
+sed -f ${out} ${cwd}/scripts/bacula-sd-2drive.conf.in >${cwd}/scripts/bacula-sd-2drive.conf
 sed -f ${out} ${cwd}/scripts/cleanup-tape.in >${cwd}/scripts/cleanup-tape
 sed -f ${out} ${cwd}/scripts/cleanup-2tape.in >${cwd}/scripts/cleanup-2tape
 sed -f ${out} ${cwd}/scripts/prepare-two-tapes.in >${cwd}/scripts/prepare-two-tapes
index d1edfd61e65ccf305afb381978c468e66402e1ab..b0ffe8209ade246a7fdd715c083a04bb575518e4 100755 (executable)
@@ -18,10 +18,11 @@ echo " === Starting bsr-opt-test at `date +%R:%S` ===" >working/log
 echo " "
 
 bin/bacula start 2>&1 >/dev/null
-bin/bconsole -c bin/bconsole.conf <<END_OF_DATA 2>&1 >/dev/null
-@output /dev/null
+#bin/bconsole -c bin/bconsole.conf <<END_OF_DATA 2>&1 >/dev/null
+bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
+@tee /dev/null
 messages
-@output tmp/log1.out
+@tee tmp/log1.out
 label storage=File1 volume=TestVolume001
 label storage=File1 volume=TestVolume002
 update Volume=TestVolume001 MaxVolBytes=3000000
@@ -31,7 +32,7 @@ messages
 @# 
 @# now do a restore
 @#
-@output tmp/log2.out
+@tee tmp/log2.out
 restore bootstrap=${cwd}/working/restore.bsr where=${cwd}/tmp/bacula-restores select storage=File1
 unmark *
 cd ${cwd}/build/src/cats
@@ -41,7 +42,7 @@ done
 yes
 wait
 messages
-@output
+@tee
 quit
 END_OF_DATA
 scripts/check_for_zombie_jobs storage=File1