]> git.sur5r.net Git - bacula/bacula/blob - regress/tests/backup-bacula-test
Update
[bacula/bacula] / regress / tests / backup-bacula-test
1 #!/bin/sh
2 #
3 # Run a simple backup of the Bacula build directory
4 #   then restore it.
5 #
6 debug=0
7 if test "$debug" -eq 1 ; then
8   out="tee"
9 else
10   out="output"
11 fi
12
13 cwd=`pwd`
14 scripts/copy-confs
15 scripts/cleanup
16
17 echo " "
18 echo " "
19 echo " === Starting Backup Bacula Test at `date +%R:%S` ==="
20 echo " === Starting Backup Bacula Test at `date +%R:%S` ===" >>working/log
21 echo " "
22
23 cat <<END_OF_DATA >tmp/bconcmds
24 @$out /dev/null
25 messages
26 @$out tmp/log1.out
27 label volume=TestVolume001
28 run job=Client1 yes
29 status storage=File
30 status storage=File
31 status storage=File
32 status storage=File
33 status storage=File
34 status storage=File
35 sleep 1
36 status storage=File
37 status storage=File
38 status storage=File
39 status storage=File
40 status storage=File
41 sleep 1
42 status storage=File
43 status storage=File
44 status storage=File
45 status storage=File
46 status storage=File
47 wait
48 messages
49 @# 
50 @# now do a restore
51 @#
52 @$out tmp/log2.out  
53 restore where=${cwd}/tmp/bacula-restores select all done
54 yes
55 wait
56 messages
57 @$out
58 quit
59 END_OF_DATA
60
61 if test "$debug" -eq 1 ; then
62   bin/bacula start
63   cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf
64 else
65   bin/bacula start 2>&1 >/dev/null
66   cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf  2>&1 >/dev/null
67 fi
68
69 scripts/check_for_zombie_jobs storage=File
70 bin/bacula stop 2>&1 >/dev/null
71 grep "^  Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null
72 bstat=$?
73 grep "^  Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null
74 rstat=$?
75 diff -r build tmp/bacula-restores${cwd}/build 2>&1 >/dev/null
76 if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then
77    echo " "
78    echo " "
79    echo "  !!!!! Backup Bacula Test failed!!! !!!!! "
80    echo "  !!!!! Backup Bacula Test failed!!! !!!!! " >>test.out
81    if [ $bstat != 0 -o $rstat != 0 ] ; then
82       echo "  !!!!! Bad Job termination status     !!!!! "
83       echo "  !!!!! Bad Job termination status     !!!!! " >>test.out
84    else
85       echo "  !!!!! Restored files differ          !!!!! "
86       echo "  !!!!! Restored files differ          !!!!! " >>test.out
87    fi
88    echo " "
89 else
90    echo "  ===== Backup Bacula Test OK ===== "
91    echo "  ===== Backup Bacula Test OK ===== " >>test.out
92    scripts/cleanup
93 fi