]> git.sur5r.net Git - bacula/bacula/blob - regress/tests/bscan-tape
Final changes
[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 copy_tape_confs
14
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 NightlySave $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 run_bacula
43 check_for_zombie_jobs storage=DDS-4
44
45 echo "Backup 1 done"
46 # make some files for the incremental to pick up
47 touch ${cwd}/build/src/dird/*.c ${cwd}/build/src/dird/*.o
48 touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o
49    
50 #
51 # run a second job
52 #
53 cat <<END_OF_DATA >tmp/bconcmds
54 @$out /dev/null
55 messages
56 @$out tmp/log1.out
57 run job=$JobName level=Incremental yes
58 wait
59 messages
60 quit
61 END_OF_DATA
62
63 run_bacula
64 scripts/check_for_zombie_jobs storage=DDS-4
65
66 echo "Backup 2 done"
67 touch ${cwd}/build/src/dird/*.c
68 touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o
69 #
70 # run a third job
71 #
72 cat <<END_OF_DATA >tmp/bconcmds
73 @$out /dev/null
74 messages
75 @$out tmp/log1.out
76 run job=$JobName level=Incremental yes
77 wait
78 messages
79 quit
80 END_OF_DATA
81
82 run_bacula
83 scripts/check_for_zombie_jobs storage=DDS-4
84
85 echo "Backup 3 done"
86 # make some files for the incremental to pick up
87 touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o
88 #echo "abc" > ${cwd}/build/src/lib/dummy
89 #
90 # run a fourth job
91 #
92 cat <<END_OF_DATA >tmp/bconcmds
93 @$out /dev/null
94 messages
95 @$out tmp/log1.out
96 run job=$JobName level=Incremental yes
97 wait
98 messages
99 quit
100 END_OF_DATA
101
102 run_bacula
103
104 scripts/check_for_zombie_jobs storage=DDS-4
105 stop_bacula
106
107 echo "Backup 4 done"
108 #
109 # now drop and recreate the database
110 #
111 cd bin
112 ./drop_bacula_tables >/dev/null 2>&1
113 ./make_bacula_tables >/dev/null 2>&1
114 ./grant_bacula_privileges 2>&1 >/dev/null
115 cd ..
116
117 echo "volume=TestVolume001" >tmp/bscan.bsr
118 bin/bscan -w working -m -s -v -b tmp/bscan.bsr -c bin/bacula-sd.conf DDS-4 2>&1 >/dev/null
119
120 cat <<END_OF_DATA >tmp/bconcmds
121 @$out /dev/null
122 messages
123 @$out tmp/log2.out
124 @# 
125 @# now do a restore
126 @#
127 restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done
128 yes
129 wait
130 messages
131 @$out
132 quit
133 END_OF_DATA
134
135 run_bacula
136 check_for_zombie_jobs storage=DDS-4
137 stop_bacula
138 rm -f  ${cwd}/build/src/lib/dummy
139
140 check_two_logs
141 check_restore_diff
142 end_test