3 # Run a simple backup of the Bacula build directory using the compressed option
4 # then backup four times, each with incremental then finally restore.
5 # It should require at least 4 different bsrs.
8 if test "$debug" -eq 1 ; then
15 scripts/copy-test-confs
17 echo "${cwd}/build" >/tmp/file-list
21 echo " === Starting four-jobs-test at `date +%R:%S` ==="
22 echo " === Starting four-jobs-test at `date +%R:%S` ===" >>working/log
25 cat <<END_OF_DATA >tmp/bconcmds
27 estimate job=CompressedTest listing
28 estimate job=CompressedTest listing
29 estimate job=CompressedTest listing
32 label storage=File volume=TestVolume001
33 run job=CompressedTest yes
39 if test "$debug" -eq 1 ; then
41 cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf
43 bin/bacula start 2>&1 >/dev/null
44 cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf 2>&1 >/dev/null
47 scripts/check_for_zombie_jobs storage=File
49 # make some files for the incremental to pick up
50 touch ${cwd}/build/src/dird/*.c ${cwd}/build/src/dird/*.o
51 touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o
56 cat <<END_OF_DATA >tmp/bconcmds
60 run job=CompressedTest
67 if test "$debug" -eq 1 ; then
68 cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf
70 cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf 2>&1 >/dev/null
73 scripts/check_for_zombie_jobs storage=File
75 touch ${cwd}/build/src/dird/*.c
76 touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o
80 cat <<END_OF_DATA >tmp/bconcmds
84 label storage=File volume=TestVolume001
85 run job=CompressedTest yes
91 if test "$debug" -eq 1 ; then
92 cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf
94 cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf 2>&1 >/dev/null
97 scripts/check_for_zombie_jobs storage=File
99 # make some files for the incremental to pick up
100 touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o
104 cat <<END_OF_DATA >tmp/bconcmds
108 label storage=File volume=TestVolume001
109 run job=CompressedTest yes
115 if test "$debug" -eq 1 ; then
116 cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf
118 cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf 2>&1 >/dev/null
121 scripts/check_for_zombie_jobs storage=File
124 # now do several restores to ensure we cleanup between jobs
126 cat <<END_OF_DATA >tmp/bconcmds
128 restore where=${cwd}/tmp/bacula-restores select all storage=File done
131 restore where=${cwd}/tmp/bacula-restores select all storage=File done
135 restore where=${cwd}/tmp/bacula-restores select storage=File
146 if test "$debug" -eq 1 ; then
147 cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf
149 cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf 2>&1 >/dev/null
152 scripts/check_for_zombie_jobs storage=File
153 bin/bacula stop 2>&1 >/dev/null
154 grep "^ Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null
156 grep "^ Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null
158 diff -r build tmp/bacula-restores${cwd}/build 2>&1 >/dev/null
159 if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then
162 echo " !!!!! four-jobs-test Bacula source failed!!! !!!!! "
163 echo " !!!!! four-jobs-test failed!!! !!!!! " >>test.out
164 if [ $bstat != 0 -o $rstat != 0 ] ; then
165 echo " !!!!! Bad Job termination status !!!!! "
166 echo " !!!!! Bad Job termination status !!!!! " >>test.out
168 echo " !!!!! Restored files differ !!!!! "
169 echo " !!!!! Restored files differ !!!!! " >>test.out
173 echo " ===== four-jobs-test Bacula source OK `date +%R:%S` ===== "
174 echo " ===== four-jobs-test OK `date +%R:%S` ===== " >>test.out