#!/bin/sh # # Run a backup of the build directory but force it to have # a comm error, and check that it restarts correctly. # TestName="restart2-job-test" JobName=RestartJob . 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 setbandwidth limit=1000 client @#setdebug level=0 trace=0 hangup=100 client @#setdebug level=20 dir label storage=File volume=TestVolume001 run job=$JobName yes @sleep 15 status client END_OF_DATA run_bacula # Note, the following stops and restarts the FD while it # is running to simulate a crash, so it is normal if # orphanned buffers are reported sleep 5 $bin/bacula-ctl-fd stop sleep 5 $bin/bacula-ctl-fd start sleep 5 cat <${cwd}/tmp/bconcmds @$out ${cwd}/tmp/log1.out wait messages sql select * from JobMedia where JobId=1; quit END_OF_DATA run_bconsole scripts/check_for_zombie_jobs storage=File cat <${cwd}/tmp/bconcmds @$out /dev/null messages @# @# now do a restore @# @$out ${cwd}/tmp/log2.out restore where=$tmp/bacula-restores storage=File select all done yes wait messages quit END_OF_DATA run_bconsole scripts/check_for_zombie_jobs storage=File stop_bacula check_two_logs check_restore_diff grep "Sending Accurate" $tmp/log1.out >/dev/null if [ $? != 0 ]; then print_debug "ERROR: Second job should use Accurate" estat=1 fi end_test