3 # Run a simple backup of the Bacula build directory
4 # to a tape where the maximum tape file size is set to 1M
5 # then restore a few files from it. Note, by setting the maximum
6 # file size to 1M, it runs very slow. This tests the
9 TestName="restore-seek-tape"
10 JobName=restore-tape-seek
14 echo "${cwd}/tmp/build" >${cwd}/tmp/file-list
15 rm -rf ${cwd}/tmp/build
16 mkdir ${cwd}/tmp/build
17 # Copy only the .c files (to be restored)
18 # set files to "*.c" for all c files
19 files="ua_tree.c ua_update.c"
22 cp -p ${cwd}/build/src/dird/${i} ${cwd}/tmp/build
27 sed s%\^%${cwd}/tmp/build/% 1 | sort | uniq >restore-list
29 # At this point restore-list contains the list
30 # of files we will restore
35 # Now arrange to backup *everything*
37 rm -rf ${cwd}/tmp/build
38 mkdir ${cwd}/tmp/build
39 cp -fp ${cwd}/build/src/dird/* ${cwd}/tmp/build
41 # Enable MaximumFileSize to ensure lots of JobMedia records and thus
44 cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1
45 sed "s%# Maximum File Size = 1000000% Maximum File Size = 10KB%" ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf
47 change_jobname NightlySave $JobName
50 cat <<END_OF_DATA >${cwd}/tmp/bconcmds
53 @$out ${cwd}/tmp/log1.out
54 label storage=DDS-4 volume=TestVolume001 pool=Default
61 @$out ${cwd}/tmp/log2.out
63 setdebug level=10 storage=DDS-4
65 @# print the JobMedia records
66 select * from JobMedia;
68 restore bootstrap=${cwd}/tmp/kern.bsr where=${cwd}/tmp/bacula-restores storage=DDS-4
70 <${cwd}/tmp/restore-list
80 check_for_zombie_jobs storage=DDS-4
83 # Now setup a control directory of only what we *should* restore
84 rm -rf ${cwd}/tmp/build
85 mkdir ${cwd}/tmp/build
87 cp -p ${cwd}/build/src/dird/${i} ${cwd}/tmp/build
91 check_restore_tmp_build_diff