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