]> git.sur5r.net Git - bacula/bacula/blob - regress/tests/bextract-test
Make out of freespace non-fatal for removable devices -- i.e. behaves like tape
[bacula/bacula] / regress / tests / bextract-test
1 #!/bin/sh
2 #
3 # Copyright (C) 2000-2015 Kern Sibbald
4 # License: BSD 2-Clause; see file LICENSE-FOSS
5 #
6
7 #
8 # Run a simple backup of the Bacula build directory but 
9 #   split the archive into two volumes, then build a BSR with
10 #   the restore command and use bextract to restore the files.
11 #
12 TestName="bextract-test"
13 JobName="bextract"
14 . scripts/functions
15
16 scripts/cleanup
17 scripts/copy-test-confs
18 echo "${cwd}/build" >${cwd}/tmp/file-list
19
20 change_jobname NightlySave $JobName 
21 start_test
22
23 cat <<END_OF_DATA >${cwd}/tmp/bconcmds
24 @$out /dev/null
25 messages
26 @$out ${cwd}/tmp/log1.out
27 label storage=File1 volume=TestVolume001 pool=Default
28 label storage=File1 volume=TestVolume002 pool=Default
29 update Volume=TestVolume001 MaxVolBytes=3000000
30 @#setdebug level=400 dir
31 @#setdebug level=400 storage=File1
32 run job=$JobName storage=File1 yes
33 wait
34 messages
35 @# 
36 @# now build the bsr file but do not restore
37 @#
38 @$out ${cwd}/tmp/log2.out
39 restore bootstrap=${cwd}/working/restore.bsr where=${cwd}/tmp/bacula-restores select all storage=File1 done
40 no
41 wait
42 messages
43 quit
44 END_OF_DATA
45
46 run_bacula
47 check_for_zombie_jobs storage=File1
48 stop_bacula
49 sleep 1
50
51 mkdir -p ${cwd}/tmp/bacula-restores
52 if test "$debug" -eq 1 ; then
53   $bin/bextract -v -b working/restore.bsr -c bin/bacula-sd.conf ${cwd}/tmp ${cwd}/tmp/bacula-restores                
54 else
55   $bin/bextract -b working/restore.bsr -c bin/bacula-sd.conf ${cwd}/tmp ${cwd}/tmp/bacula-restores 2>&1 >/dev/null
56 fi
57 rstat=$?
58 grep "^  Termination: *Backup OK" ${cwd}/tmp/log1.out 2>&1 >/dev/null
59 bstat=$?
60 check_restore_diff
61 end_test