]> git.sur5r.net Git - bacula/bacula/blob - regress/tests/bscan-tape
Update more tests
[bacula/bacula] / regress / tests / bscan-tape
1 #!/bin/sh
2 #
3 # Run a simple backup of the Bacula build directory using the compressed option
4 #   then backup four times, each with incremental then 
5 #   do a bscan and restore.
6 #   It should require at least 4 different bsrs.
7 #
8 TestName="bscan-tape"
9 JobName=bscantape
10 . scripts/functions
11 set_debug 0
12
13 scripts/copy-tape-confs
14 scripts/cleanup-tape
15 echo "${cwd}/build" >/tmp/file-list
16
17 cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1
18 sed "s%# Maximum File Size%  Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf
19
20 change_jobname $JobName
21 start_test
22
23 cat <<END_OF_DATA >tmp/bconcmds
24 @output /dev/null
25 estimate job=$JobName listing
26 estimate job=$JobName listing
27 estimate job=$JobName listing
28 messages
29 @$out tmp/log1.out
30 setdebug level=2 storage=DDS-4
31 label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default
32 run job=$JobName yes
33 wait
34 run job=$JobName level=Full yes
35 wait
36 run job=$JobName level=Full yes
37 wait
38 messages
39 quit
40 END_OF_DATA
41
42 if test "$debug" -eq 1 ; then
43   bin/bacula start
44   cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf
45 else
46   bin/bacula start 2>&1 >/dev/null
47   cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf  2>&1 >/dev/null
48 fi
49 scripts/check_for_zombie_jobs storage=DDS-4
50 echo "Backup 1 done"
51 # make some files for the incremental to pick up
52 touch ${cwd}/build/src/dird/*.c ${cwd}/build/src/dird/*.o
53 touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o
54    
55 #
56 # run a second job
57 #
58 cat <<END_OF_DATA >tmp/bconcmds
59 @$out /dev/null
60 messages
61 @$out tmp/log1.out
62 run job=$JobName level=Incremental yes
63 wait
64 messages
65 quit
66 END_OF_DATA
67 if test "$debug" -eq 1 ; then
68   bin/bacula start
69   cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf
70 else
71   bin/bacula start 2>&1 >/dev/null
72   cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf  2>&1 >/dev/null
73 fi
74
75 scripts/check_for_zombie_jobs storage=DDS-4
76 echo "Backup 2 done"
77 touch ${cwd}/build/src/dird/*.c
78 touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o
79 #
80 # run a third job
81 #
82 cat <<END_OF_DATA >tmp/bconcmds
83 @$out /dev/null
84 messages
85 @$out tmp/log1.out
86 run job=$JobName level=Incremental yes
87 wait
88 messages
89 quit
90 END_OF_DATA
91 if test "$debug" -eq 1 ; then
92   bin/bacula start
93   cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf
94 else
95   bin/bacula start 2>&1 >/dev/null
96   cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf  2>&1 >/dev/null
97 fi
98
99 scripts/check_for_zombie_jobs storage=DDS-4
100 echo "Backup 3 done"
101 # make some files for the incremental to pick up
102 touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o
103 #echo "abc" > ${cwd}/build/src/lib/dummy
104 #
105 # run a fourth job
106 #
107
108 cat <<END_OF_DATA >tmp/bconcmds
109 @$out /dev/null
110 messages
111 @$out tmp/log1.out
112 run job=$JobName level=Incremental yes
113 wait
114 messages
115 quit
116 END_OF_DATA
117 if test "$debug" -eq 1 ; then
118   bin/bacula start
119   cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf
120 else
121   bin/bacula start 2>&1 >/dev/null
122   cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf  2>&1 >/dev/null
123 fi
124
125 scripts/check_for_zombie_jobs storage=DDS-4
126 echo "Backup 4 done"
127 #
128 # now drop and recreate the database
129 #
130 cd bin
131 ./drop_bacula_tables >/dev/null 2>&1
132 ./make_bacula_tables >/dev/null 2>&1
133 ./grant_bacula_privileges 2>&1 >/dev/null
134 cd ..
135
136 bin/bacula stop 2>&1 >/dev/null
137 echo "volume=TestVolume001" >tmp/bscan.bsr
138 bin/bscan -w working -m -s -v -b tmp/bscan.bsr -c bin/bacula-sd.conf DDS-4 2>&1 >/dev/null
139 bin/bacula start 2>&1 >/dev/null
140 bin/bconsole -c bin/bconsole.conf <<END_OF_DATA 2>&1 >/dev/null
141 @$out /dev/null
142 messages
143 @$out tmp/log2.out
144 @# 
145 @# now do a restore
146 @#
147 restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done
148 yes
149 wait
150 messages
151 @$out
152 quit
153 END_OF_DATA
154
155 run_bacula
156 check_for_zombie_jobs storage=DDS-4
157 stop_bacula
158 rm -f  ${cwd}/build/src/lib/dummy
159
160 check_two_logs
161 check_restore_diff
162 end_test