scripts/prepare-disk-changer
# create a new bacula-sd.confs
-for sd in 2 3 4; do
- perl -ne '
- if (/SDPort = /) { $_ =~ s/(\d+)/1810$sd/;}
- if (/Name = .+?-sd/) { $_ =~ s/-sd/-sd$sd/;}
- if (/WorkingDirectory/) { $_ =~ s/"$/$sd"/; }
- if (/Pid Directory/) { $_ =~ s/"$/$sd"/; }
+for i in 2 3 4; do
+ perl -ne "\$i='$i';\$tmp='$tmp';"'
+ if (/SDPort = /) { $_ =~ s/(\d+)/1810$i/}
+ if (/Name = /) { $_ =~ s/FileStorage/FileStorage$i/}
+ if (/mediatype = /) { $_ =~ s/FileMedia/FileMedia$1/}
+ if (/WorkingDirectory/) { $_ =~ s:working:tmp/$i:}
+ if (/Pid Directory/) { $_ =~ s:working:tmp/$i:}
+ if (/(Archive|Changer) Device/) { $_ =~ s:$tmp:$tmp/$i:}
print;
- ' $conf/bacula-sd.conf > $conf/bacula-sd$sd.conf
- mkdir -p ${working}$sd
- sed 's/bacula-sd.conf/bacula-sd$sd.conf/' $scripts/bacula-ctl-sd \
- > $tmp/bacula-ctl-sd$sd
- chmod +x $tmp/bacula-ctl-sd$sd
+ ' $conf/bacula-sd.conf > $conf/bacula-sd$i.conf
+ mkdir -p ${working}$i
+ sed "s/bacula-sd.conf/bacula-sd${i}.conf/" $scripts/bacula-ctl-sd \
+ > $tmp/bacula-ctl-sd$i
+ chmod +x $tmp/bacula-ctl-sd$i
+ mkdir -p $tmp/$i
done
# Patch up bacula-dir.conf
# Write out bconsole commands
cat <<END_OF_DATA >${cwd}/tmp/bconcmds
-@$out /dev/null
+@out /dev/null
messages
@$out ${cwd}/tmp/log1.out
label storage=tape volume=TestVolume001 Pool=Default slot=1 drive=0
label storage=File volume=TestVolume002 Pool=Default
+label storage=File2 volume=File2-Vol001 Pool=Default
+label storage=File3 volume=File3-Vol001 Pool=Default
+label storage=File4 volume=File4-Vol001 Pool=Default
run job=$JobName storage=tape yes
wait
messages
+run job=$JobName storage=File yes
+wait
+messages
+run job=$JobName storage=File2 yes
+wait
+messages
+run job=$JobName storage=File3 yes
+wait
+messages
+run job=$JobName storage=File4 yes
+wait
+messages
quit
END_OF_DATA
cat <<END_OF_DATA >${cwd}/tmp/bconcmds
-@$out /dev/null
+@out /dev/null
messages
@$out ${cwd}/tmp/log1.out
@# Force Incremental on the second Volume
run level=Incremental storage=File job=$JobName yes
wait
messages
+run level=Incremental storage=File2 job=$JobName yes
+wait
+messages
+run level=Incremental storage=File3 job=$JobName yes
+wait
+messages
+run level=Incremental storage=File4 job=$JobName yes
+wait
+messages
@#
@# now do a restore
@#
restore where=${cwd}/tmp/bacula-restores select all done yes
wait
messages
+show storage
sql
-select * in Storage;
-
+select * FROM Storage;
+select VolumeName, Name, StorageId, MediaType FROM Media JOIN Storage USING (StorageId);
quit
END_OF_DATA