]> git.sur5r.net Git - bacula/bacula/blob - regress/tests/multi-client-test
df9bbf51f41cd79399774daa1bf0c2ef5d16de77
[bacula/bacula] / regress / tests / multi-client-test
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 Bacula to use the second
6 #   Volume.
7 #
8 TestName="multi-client-test"
9 JobName=Multi-client
10 . scripts/functions
11
12 scripts/cleanup
13 scripts/copy-test-confs
14 /bin/cp -f scripts/multi-client-bacula-dir.conf bin/bacula-dir.conf
15
16 change_jobname NightlySave $JobName
17 start_test
18
19 cat <<END_OF_DATA >tmp/bconcmds
20 @output /dev/null
21 messages
22 @$out   tmp/log1.out
23 @# Make sure we can contact all clients
24 setdebug level=100 dir
25 status client=${HOST}-fd
26 status client=${hostname1}-fd
27 status client=${hostname2}-fd
28 status client=${hostname3}-fd
29 setdebug level=1 dir
30 label storage=File1
31 TestVolume001
32 label storage=File1
33 TestVolume002
34 update Volume=TestVolume001 MaxVolBytes=900000000
35 @#50000000
36 @#12
37 @#setdebug level=51 Storage=File1
38 status storage=File1
39 @#llist volume=TestVolume001
40 @#llist volume=TestVolume002
41 run job=${hostname1} level=Full Storage=File1 yes
42 @#llist volume=TestVolume001
43 @#llist volume=TestVolume002
44 run job=${hostname2} level=Full Storage=File1 yes
45 @#llist volume=TestVolume001
46 @#llist volume=TestVolume002
47 run job=${hostname3} level=Full Storage=File1 yes
48 @#llist volume=TestVolume001
49 @#llist volume=TestVolume002
50 status storage=File1
51 run job=$JobName level=Full Storage=File1 yes
52 @sleep 2
53 status dir
54 status storage=File1
55 @#llist volume=TestVolume001
56 @#llist volume=TestVolume002
57 @sleep 5
58 messages
59 wait
60 status storage=File1
61 messages
62 @# 
63 @# now do a restore
64 @#
65 @$out   tmp/log2.out
66 restore where=${cwd}/tmp/bacula-restores client=${hostname}-fd select storage=File1
67 unmark *
68 mark *
69 done
70 yes
71 wait
72 messages
73 @output
74 status dir
75 status storage=File1
76 quit
77 END_OF_DATA
78
79 run_bacula
80 stop_bacula
81
82 check_two_logs
83 if test "$debug" -eq 1 ; then
84    diff -r ${hostname_files} ${cwd}/tmp/bacula-restores/${hostname_files}                
85 else
86    diff -r ${hostname_files} ${cwd}/tmp/bacula-restores/${hostname_files} 2>&1 >/dev/null
87 fi
88 dstat=$?
89 end_test