#@hostname@-fd: ClientBeforeJob: run command "/bin/false RUN_FD_FAILED1"
#@hostname@-fd: ClientBeforeJob: run command "/bin/false RUN_FD_FAILED2"
+#@hostname@-fd: ClientBeforeJob: run command "/bin/false RUN_FD_FAILED3"
#@hostname@-dir: AfterJob: run command "/bin/echo RunAfterFailedJob"
Job {
Name = "RUN_FD_FAILED"
Run After Failed Job = "/bin/echo RunAfterFailedJob"
}
-FileSet {
- Name = FS_FIFO
- Include {
- Options { readfifo = yes }
- File=<@tmpdir@/file-list
- }
-}
-
Job {
- Name = BUG_897
+ Name = "RUN_CONSOLE_CMD"
+ FileSet = FS_TESTJOB
JobDefs = DefaultJob
- FileSet = FS_FIFO
-
- RunScript {
- Command = "/bin/echo touching @tmpdir@/RUN_BUG_897"
- RunsWhen = after
- RunsOnFailure = yes
- }
RunScript {
- Command = "/bin/touch @tmpdir@/RUN_BUG_897"
- RunsWhen = after
- RunsOnFailure = yes
+ Console = "purge volume=TestVolume001 yes"
+ Console = "st dir"
+ RunsWhen = Before
+ runsonclient = no
}
}
+Job {
+ Name = "Restore"
+ Type = Restore
+ Client = @hostname@-fd
+ FileSet = FS_TESTJOB
+ Storage = File
+ Messages = Standard
+ Pool = Default
+
+ RunScript {
+ RunsWhen = Before
+ RunsOnClient = Yes
+ Command = "echo ClientBeforeRestore"
+ }
+
+ RunScript {
+ RunsOnFailure = No
+ RunsWhen = After
+ RunsOnClient = Yes
+ Command = "echo ClientAfterRestore"
+ }
+
+ RunScript {
+ RunsWhen = Before
+ RunsOnClient = No
+ Command = "echo DirBeforeRestore"
+ }
+
+ RunScript {
+ RunsOnFailure = No
+ RunsWhen = After
+ RunsOnClient = Yes
+ Command = "echo DirAfterRestore"
+ }
+}
+
# Client (File Services) to backup
Client {
Name = @hostname@-fd
cat <<END_OF_DATA >${cwd}/tmp/bconcmds
@$out /dev/null
messages
-label volume=TestVolume001
+label volume=TestVolume001 pool=Scratch
@$out ${cwd}/tmp/RUN_FD_WARNING.log
run job=RUN_FD_WARNING yes
wait
run job=RUN_FD_FAILED2 yes
wait
messages
+@sleep 1
+@$out ${cwd}/tmp/RUN_RESTO.log
+restore where=${cwd}/tmp/bacula-restores select all done yes
+wait
+messages
st dir
quit
END_OF_DATA
export bstat
export rstat
-grep 'shell command: run BeforeJob "/bin/echo RunBeforeJob"' ${cwd}/tmp/RUN_ALL_OK.log >/dev/null 2>&1
+grep 'shell command: run BeforeJob "/bin/echo RunBeforeJob"' ${cwd}/tmp/RUN_ALL_OK.log >/dev/null
a=$?
-grep 'ClientRunBeforeJob: ClientRunBeforeJob' ${cwd}/tmp/RUN_ALL_OK.log >/dev/null 2>&1
+grep 'ClientRunBeforeJob: ClientRunBeforeJob' ${cwd}/tmp/RUN_ALL_OK.log >/dev/null
b=$?
-grep 'shell command: run ClientAfterJob "/bin/echo ClientRunAfterJob' ${cwd}/tmp/RUN_ALL_OK.log >/dev/null 2>&1
+grep 'shell command: run ClientAfterJob "/bin/echo ClientRunAfterJob' ${cwd}/tmp/RUN_ALL_OK.log >/dev/null
c=$?
-grep 'shell command: run AfterJob "/bin/echo RunAfterJob' ${cwd}/tmp/RUN_ALL_OK.log >/dev/null 2>&1
+grep 'shell command: run AfterJob "/bin/echo RunAfterJob' ${cwd}/tmp/RUN_ALL_OK.log >/dev/null
d=$?
if [ $a = 0 -a $b = 0 -a $c = 0 -a $d = 0 ]
then
[ "$debug" = 1 ] && echo RUN_ALL_OK ok
else
echo "RUN_ALL_OK in error"
- rstat=1
+ bstat=1
fi
-grep 'shell command: run BeforeJob "/bin/false RUN_DIR_FAILED"' ${cwd}/tmp/RUN_DIR_FAILED.log >/dev/null 2>&1
+grep 'shell command: run BeforeJob "/bin/false RUN_DIR_FAILED"' ${cwd}/tmp/RUN_DIR_FAILED.log >/dev/null
a=$?
-grep 'AfterJob: RunAfterFailedJob' ${cwd}/tmp/RUN_DIR_FAILED.log >/dev/null 2>&1
+grep 'AfterJob: RunAfterFailedJob' ${cwd}/tmp/RUN_DIR_FAILED.log >/dev/null
b=$?
if [ $a = 0 -a $b = 0 ]
then
[ "$debug" = 1 ] && echo RUN_DIR_FAILED ok
else
echo "RUN_DIR_FAILED in error"
- rstat=1
+ bstat=1
fi
-grep 'shell command: run ClientBeforeJob "/bin/false RUN_FD_FAILED1"' ${cwd}/tmp/RUN_FD_FAILED.log >/dev/null 2>&1
+grep 'shell command: run ClientBeforeJob "/bin/false RUN_FD_FAILED1"' ${cwd}/tmp/RUN_FD_FAILED.log >/dev/null
a=$?
-grep 'shell command: run ClientBeforeJob "/bin/false RUN_FD_FAILED2"' ${cwd}/tmp/RUN_FD_FAILED.log >/dev/null 2>&1
+grep 'shell command: run ClientBeforeJob "/bin/false RUN_FD_FAILED2"' ${cwd}/tmp/RUN_FD_FAILED.log >/dev/null
b=$?
-grep 'shell command: run ClientBeforeJob "/bin/false RUN_FD_FAILED3"' ${cwd}/tmp/RUN_FD_FAILED.log >/dev/null 2>&1
+grep 'shell command: run ClientBeforeJob "/bin/false RUN_FD_FAILED3"' ${cwd}/tmp/RUN_FD_FAILED.log >/dev/null
c=$?
-grep 'shell command: run AfterJob "/bin/echo RunAfterFailedJob"' ${cwd}/tmp/RUN_FD_FAILED.log >/dev/null 2>&1
+grep 'shell command: run AfterJob "/bin/echo RunAfterFailedJob"' ${cwd}/tmp/RUN_FD_FAILED.log >/dev/null
d=$?
-grep 'touching' ${cwd}/tmp/RUN_FD_FAILED.log >/dev/null 2>&1
+grep 'touching' ${cwd}/tmp/RUN_FD_FAILED.log >/dev/null
e=$?
-grep '*** Backup Error ***' ${cwd}/tmp/RUN_FD_FAILED.log >/dev/null 2>&1
+grep '*** Backup Error ***' ${cwd}/tmp/RUN_FD_FAILED.log >/dev/null
f=$?
if [ $a = 0 -a $b = 0 -a $c = 0 -a $d = 0 -a $e = 0 -a $f = 0 ]
then
[ "$debug" = 1 ] && echo RUN_FD_FAILED ok
else
echo "RUN_FD_FAILED in error a=$a b=$b c=$c d=$d e=$e f=$f"
- rstat=1
+ bstat=1
fi
-grep 'shell command: run ClientBeforeJob "/bin/false RUN_FD_FAILED1"' ${cwd}/tmp/RUN_FD_FAILED2.log >/dev/null 2>&1
+grep 'shell command: run ClientBeforeJob "/bin/false RUN_FD_FAILED1"' ${cwd}/tmp/RUN_FD_FAILED2.log >/dev/null
a=$?
-grep 'shell command: run ClientBeforeJob "/bin/false RUN_FD_FAILED2"' ${cwd}/tmp/RUN_FD_FAILED2.log >/dev/null 2>&1
+grep 'shell command: run ClientBeforeJob "/bin/false RUN_FD_FAILED2"' ${cwd}/tmp/RUN_FD_FAILED2.log >/dev/null
b=$?
-grep 'shell command: run ClientBeforeJob "/bin/false RUN_FD_FAILED3"' ${cwd}/tmp/RUN_FD_FAILED2.log >/dev/null 2>&1
+grep 'shell command: run ClientBeforeJob "/bin/false RUN_FD_FAILED3"' ${cwd}/tmp/RUN_FD_FAILED2.log >/dev/null
c=$?
-grep 'shell command: run AfterJob "/bin/echo RunAfterFailedJob"' ${cwd}/tmp/RUN_FD_FAILED2.log >/dev/null 2>&1
+grep 'shell command: run AfterJob "/bin/echo RunAfterFailedJob"' ${cwd}/tmp/RUN_FD_FAILED2.log >/dev/null
d=$?
-grep '*** Backup Error ***' ${cwd}/tmp/RUN_FD_FAILED2.log >/dev/null 2>&1
+grep '*** Backup Error ***' ${cwd}/tmp/RUN_FD_FAILED2.log >/dev/null
e=$?
if [ $a = 0 -a $b != 0 -a $c = 0 -a $d = 0 -a $e = 0 ]
then
[ "$debug" = 1 ] && echo RUN_FD_FAILED ok
else
echo "RUN_FD_FAILED2 in error a=$a b=$b c=$d d=$d e=$e"
- rstat=1
+ bstat=1
fi
-grep 'shell command: run ClientBeforeJob "/bin/false RUN_FD_WARNING"' ${cwd}/tmp/RUN_FD_WARNING.log >/dev/null 2>&1
+grep 'shell command: run ClientBeforeJob "/bin/false RUN_FD_WARNING"' ${cwd}/tmp/RUN_FD_WARNING.log >/dev/null
a=$?
-grep 'RunAfterFailedJob' ${cwd}/tmp/RUN_FD_WARNING.log >/dev/null 2>&1
+grep 'RunAfterFailedJob' ${cwd}/tmp/RUN_FD_WARNING.log >/dev/null
b=$?
-grep 'Backup OK -- with warnings' ${cwd}/tmp/RUN_FD_WARNING.log >/dev/null 2>&1
+grep 'Backup OK -- with warnings' ${cwd}/tmp/RUN_FD_WARNING.log >/dev/null
c=$?
if [ $a = 0 -a $b != 0 -a $c = 0 ]
then
[ "$debug" = 1 ] && echo RUN_FD_WARNING ok
else
echo "RUN_FD_WARNING in error"
+ bstat=1
+fi
+
+grep 'ClientBeforeRestore' ${cwd}/tmp/RUN_RESTO.log >/dev/null
+a=$?
+grep 'ClientAfterRestore' ${cwd}/tmp/RUN_RESTO.log >/dev/null
+b=$?
+grep 'DirBeforeRestore' ${cwd}/tmp/RUN_RESTO.log >/dev/null
+c=$?
+grep 'DirAfterRestore' ${cwd}/tmp/RUN_RESTO.log >/dev/null
+d=$?
+if [ $a = 0 -a $b = 0 -a $c = 0 -a $d = 0 ]
+then
+ [ "$debug" = 1 ] && echo RUN_RESTO ok
+else
+ echo "RUN_RESTO in error"
rstat=1
fi
+
end_test