#!/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 but # split the archive into two volumes, then build a BSR with # the restore command and use bextract to restore the files. # TestName="bextract-test" JobName="bextract" . scripts/functions scripts/cleanup scripts/copy-test-confs echo "${cwd}/build" >${cwd}/tmp/file-list change_jobname NightlySave $JobName start_test cat <${cwd}/tmp/bconcmds @$out /dev/null messages @$out ${cwd}/tmp/log1.out label storage=File1 volume=TestVolume001 pool=Default label storage=File1 volume=TestVolume002 pool=Default update Volume=TestVolume001 MaxVolBytes=3000000 @#setdebug level=400 dir @#setdebug level=400 storage=File1 run job=$JobName storage=File1 yes wait messages @# @# now build the bsr file but do not restore @# @$out ${cwd}/tmp/log2.out restore bootstrap=${cwd}/working/restore.bsr where=${cwd}/tmp/bacula-restores select all storage=File1 done no wait messages quit END_OF_DATA run_bacula check_for_zombie_jobs storage=File1 stop_bacula sleep 1 mkdir -p ${cwd}/tmp/bacula-restores if test "$debug" -eq 1 ; then $bin/bextract -v -b working/restore.bsr -c bin/bacula-sd.conf ${cwd}/tmp ${cwd}/tmp/bacula-restores else $bin/bextract -b working/restore.bsr -c bin/bacula-sd.conf ${cwd}/tmp ${cwd}/tmp/bacula-restores 2>&1 >/dev/null fi rstat=$? grep "^ Termination: *Backup OK" ${cwd}/tmp/log1.out 2>&1 >/dev/null bstat=$? check_restore_diff end_test