1#!/bin/sh 2# 3# Run four jobs at the same time, with two Volumes. 4# Set max Vol bytes of first volume 5# to less than total backup to force Bareos to use the second 6# Volume. 7# 8TestName="four-concurrent-jobs-test" 9JobName=Four-concurrent-jobs 10. scripts/functions 11 12scripts/cleanup 13scripts/copy-test-confs 14 15# Directory to backup. 16# This directory will be created by setup_data(). 17BackupDirectory="${tmp}/data" 18 19# Use a tgz to setup data to be backuped. 20# Data will be placed at "${tmp}/data/". 21setup_data data/small.tgz 22 23# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". 24echo "${BackupDirectory}" >${tmp}/file-list 25 26 27 28change_jobname NightlySave $JobName 29start_test 30 31cat <<END_OF_DATA >${cwd}/tmp/bconcmds 32@$out /dev/null 33messages 34@$out ${cwd}/tmp/log1.out 35label storage=File1 36TestVolume001 37label storage=File1 38TestVolume002 39update Volume=TestVolume001 MaxVolBytes=100000000 40@#50000000 41@#12 42setdebug level=51 Storage=File1 43status storage=File1 44status client 45llist volume=TestVolume001 46llist volume=TestVolume002 47list nextvol 481 49run job=$JobName level=Full Storage=File1 50yes 51@#reload 52llist volume=TestVolume001 53llist volume=TestVolume002 54list nextvol 551 56run job=$JobName level=Full Storage=File1 57yes 58@#reload 59llist volume=TestVolume001 60llist volume=TestVolume002 61list nextvol 621 63run job=$JobName level=Full Storage=File1 64yes 65@#reload 66llist volume=TestVolume001 67llist volume=TestVolume002 68list nextvol 691 70status storage=File1 71run job=$JobName level=Full Storage=File1 72yes 73status storage=File1 74status client 75@#reload 76@#reload 77list nextvol 781 79@sleep 2 80status dir 81status client 82status storage=File1 83llist volume=TestVolume001 84llist volume=TestVolume002 85@#reload 86@sleep 5 87messages 88@#reload 89wait 90status client 91status storage=File1 92@#reload 93list nextvol 941 95messages 96@# 97@# now do a restore 98@# 99@$out ${cwd}/tmp/jobmedia.out 100list volumes 101sql 102select JobId,MediaId,StartFile,StartBlock,EndFile,EndBlock from JobMedia; 103 104 105@$out ${cwd}/tmp/log2.out 106status client 107status storage=File1 108setdebug level=100 Storage=File1 109restore where=${cwd}/tmp/bareos-restores select storage=File1 110unmark * 111mark * 112done 113yes 114wait 115run job=$JobName level=Full Storage=File1 yes 116wait 117@#reload 118messages 119quit 120END_OF_DATA 121 122run_bareos 123check_for_zombie_jobs storage=File1 124stop_bareos 125 126check_two_logs 127check_restore_diff 128end_test 129