]> git.sur5r.net Git - bacula/bacula/blob - regress/tests/virtual-backup2-test
0a0029d7039d6566eed618e89ff7f84fb6196943
[bacula/bacula] / regress / tests / virtual-backup2-test
1 #!/bin/sh
2 #
3 # Run a simple backup of the Bacula build directory then do a virtual
4 #   backup to another device.
5 #
6 # This script uses the virtual disk autochanger
7 #
8 TestName="virtual-backup-test"
9 JobName=Vbackup
10 . scripts/functions
11
12
13 scripts/cleanup
14 scripts/copy-migration-confs
15 scripts/prepare-disk-changer
16 echo "${cwd}/build" >${cwd}/tmp/file-list
17
18 change_jobname NightlySave $JobName
19 start_test
20
21 #
22 # Note, we first backup into Pool Default, 
23 #          then Migrate into Pool Full. 
24 #              Pool Default forced to use Storage=DiskChanger
25 #              Pool Full    uses Storage=DiskChanger
26
27 # Write out bconsole commands
28 cat <<END_OF_DATA >${cwd}/tmp/bconcmds
29 @output
30 messages
31 @$out ${cwd}/tmp/log1.out
32 setdebug level=150 storage=DiskChanger
33 label storage=DiskChanger volume=ChangerVolume001 slot=1 Pool=Full drive=0
34 label storage=DiskChanger volume=ChangerVolume002 slot=2 Pool=Full drive=0
35 label storage=DiskChanger volume=ChangerVolume003 slot=3 Pool=Full drive=0
36 setdebug level=0 storage=DiskChanger
37 @# run several jobs
38 run job=$JobName level=Full yes
39 wait
40 messages
41 list jobs
42 @exec "sh -c 'touch ${cwd}/build/src/dird/*.c'"
43 run job=$JobName level=Incremental storage=DiskChanger yes
44 wait
45 messages
46 list jobs
47 @exec "sh -c 'touch ${cwd}/build/src/dird/*.o'"
48 run job=$JobName level=Differential storage=DiskChanger yes
49 wait
50 messages
51 list jobs
52 @exec "sh -c 'touch ${cwd}/build/src/dird/*.o'"
53 run job=$JobName level=Incremental storage=DiskChanger yes
54 wait
55 messages
56 list jobs
57 list volumes
58 @# 
59 @# now do a restore
60 @#
61 @$out ${cwd}/tmp/log2.out
62 restore where=${cwd}/tmp/bacula-restores select
63 unmark *
64 mark *
65 done
66 yes
67 list volumes
68 @#setdebug level=100 dir
69 @# should Consolidate Full, Differential and Incremental
70 @#setdebug level=51 storage=DiskChanger
71 run job=$JobName level=VirtualFull storage=DiskChanger yes
72 wait
73 messages
74 list volumes
75 list jobs
76 @# 
77 @# now do a restore
78 @#
79 @$out ${cwd}/tmp/log2.out
80 restore where=${cwd}/tmp/bacula-restores select storage=DiskChanger
81 unmark *
82 mark *
83 done
84 yes
85 wait
86 update Volume=ChangerVolume002
87 11
88 Default
89 list volumes
90 list jobs
91 messages
92 @exec "sh -c 'touch ${cwd}/build/src/dird/*.o'"
93 run job=$JobName level=Incremental storage=DiskChanger yes
94 wait
95 messages
96 list jobs
97 list volumes
98 @# Now do another Consolidation
99 setdebug level=150 storage=DiskChanger
100 run job=$JobName level=VirtualFull storage=DiskChanger yes
101 wait
102 messages
103 list volumes
104 list jobs
105 @# 
106 @# now do a restore
107 @#
108 @$out ${cwd}/tmp/log2.out
109 setdebug level=0 storage=DiskChanger
110 restore where=${cwd}/tmp/bacula-restores select storage=DiskChanger
111 unmark *
112 mark *
113 done
114 yes
115 wait
116 list volumes
117 list jobs
118 messages
119 @output
120 quit
121 END_OF_DATA
122
123 run_bacula
124 check_for_zombie_jobs storage=File
125 stop_bacula
126
127 check_two_logs
128 check_restore_diff
129 end_test