1#!/bin/sh
2#
3# Run a simple backup but
4#   create three volumes and do six backups causing the
5#   volumes to be recycled, and cycling through the volumes
6#   twice. Tests maxvoljobs and volretention.
7#
8TestName="maxvol2-test"
9JobName=Maxvol2
10. scripts/functions
11
12scripts/cleanup
13scripts/copy-test-confs
14
15change_jobname NightlySave $JobName
16
17# Directory to backup.
18# This directory will be created by setup_data().
19BackupDirectory="${tmp}/data"
20
21# Use a tgz to setup data to be backed up.
22# Data will be placed at "${tmp}/data/".
23setup_data data/small.tgz
24
25# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list".
26echo "${BackupDirectory}" >${tmp}/file-list
27
28
29start_test
30
31cat <<END_OF_DATA >${cwd}/tmp/bconcmds
32@$out /dev/null
33messages
34@$out ${cwd}/tmp/log1.out
35label storage=File1 volume=TestVolume001
36label storage=File1 volume=TestVolume002
37label storage=File1 volume=TestVolume003
38update Volume=TestVolume001 volretention=2s
39update Volume=TestVolume001 maxvoljobs=1
40update Volume=TestVolume002 volretention=2s
41update Volume=TestVolume002 maxvoljobs=1
42update Volume=TestVolume003 volretention=2s
43update Volume=TestVolume003 maxvoljobs=1
44list volumes
45setdebug level=200 storage=File1
46run job=$JobName storage=File1 level=full yes
47run job=$JobName storage=File1 level=full yes
48run job=$JobName storage=File1 level=full yes
49wait
50messages
51list volumes
52@sleep 3
53run job=$JobName storage=File1 level=full yes
54run job=$JobName storage=File1 level=full yes
55wait
56messages
57list volumes
58@sleep 3
59run job=$JobName storage=File1 level=full yes
60run job=$JobName storage=File1 level=full yes
61wait
62messages
63list volumes
64@sleep 3
65run job=$JobName storage=File1 level=full yes
66run job=$JobName storage=File1 level=full yes
67wait
68messages
69list volumes
70@sleep 3
71run job=$JobName storage=File1 level=full yes
72run job=$JobName storage=File1 level=full yes
73wait
74messages
75list volumes
76@sleep 3
77run job=$JobName storage=File1 level=full yes
78run job=$JobName storage=File1 level=full yes
79run job=$JobName storage=File1 level=full yes
80wait
81messages
82list volumes
83@#
84@# now do a restore
85@#
86@$out ${cwd}/tmp/log2.out
87restore where=${cwd}/tmp/bareos-restores select storage=File1
88unmark *
89mark *
90done
91yes
92wait
93messages
94quit
95END_OF_DATA
96
97run_bareos
98check_for_zombie_jobs storage=File1
99stop_bareos
100
101check_two_logs
102check_restore_diff
103end_test
104