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