#!/bin/sh # # Copyright (C) 2000-2015 Kern Sibbald # License: BSD 2-Clause; see file LICENSE-FOSS # # # Run a simple backup of the Bacula build directory using the compressed option # then backup four times, each with incremental then # do a bscan and restore. # It should require at least 4 different bsrs. # TestName="bscan-fast-tape" JobName=bscanfasttape . scripts/functions require_tape_drive copy_tape_confs echo "${cwd}/build" >${cwd}/tmp/file-list cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1 # sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf change_jobname NightlySave $JobName start_test cat <tmp/bconcmds @$out /dev/null messages @$out tmp/log1.out setdebug level=2 storage=tape label storage=tape volume=TestVolume001 slot=0 pool=Default run job=$JobName yes wait messages quit END_OF_DATA echo "Starting Bacula tape writing" #$bin/btape -c bin/bacula-sd.conf /dev/nst0 </dev/null 2>&1 ./make_bacula_tables >/dev/null 2>&1 ./grant_bacula_privileges 2>&1 >/dev/null cd .. echo "Begin attempt to read tape that crashes the system" echo "volume=TestVolume001" >tmp/bscan.bsr bscan_libdbi strace -o strace.new $bin/bscan -d200 -w working $BSCANLIBDBI -u regress -n regress -m -s -v -b tmp/bscan.bsr -c bin/bacula-sd.conf tape exit cat <tmp/bconcmds @$out /dev/null messages @$out tmp/log2.out @# @# now do a restore @# restore where=${cwd}/tmp/bacula-restores select all storage=tape done yes wait messages quit END_OF_DATA run_bacula check_for_zombie_jobs storage=tape stop_bacula rm -f ${cwd}/build/src/lib/dummy check_two_logs check_restore_diff end_test