scripts/savecore: Report nicely when there's no core dump

When savecore can't find a core dump, it reports something like

    ls: cannot access core.*: No such file or directory

to stderr, and fails.  If privlog is set, it also mails out a "Could
not save core dump" note.

Suppress the error message, and mail out "Could not find core dump to
save" instead.

Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
This commit is contained in:
Markus Armbruster 2015-11-15 08:40:36 +01:00
parent 3f86dd2ecf
commit 41263cf8c9

View file

@ -41,20 +41,23 @@ mailx=mailx
# End of configuration # End of configuration
saved= saved=
core_name=
alert_deity () alert_deity ()
{ {
local msg; local msg;
if [ "$saved" ] if [ "$saved" ]
then msg="Core dump $saved_core saved." then msg="Core dump $saved_core saved."
else msg="Could not save core dump." elif [ "$core_name" ]
then msg="Could not save core dump $core_name."
else msg="Could not find core dump to save."
fi fi
echo $msg | $mailx -s "emp_server dumped core in $PWD" "$privlog" echo "$msg" | $mailx -s "emp_server dumped core in $PWD" "$privlog"
} }
test -n "$privlog" && trap 'alert_deity' EXIT test -n "$privlog" && trap 'alert_deity' EXIT
core_name=`ls -td $core_pattern | head -n 1` core_name=`ls -td $core_pattern 2>/dev/null | head -n 1`
test -n "$core_name" test -n "$core_name"
test -r "$core_name" test -r "$core_name"
tstamp=`/bin/date +%Y-%m-%d-%H:%M` tstamp=`/bin/date +%Y-%m-%d-%H:%M`