openrc/init.d/savecore.in
Richard Yao 39abbed7cb Fix savecore init script to execute after dumpon, but before encswap
This ensures that any kernel crash dumps are available when savecore
runs. It also prevents encswap from corrupting them.
2012-07-15 14:01:03 -05:00

38 lines
825 B
Plaintext

#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Released under the 2-clause BSD license.
description="Saves a kernel dump."
depend()
{
need dumpon localmount
before encswap
keyword -jail
}
start()
{
: ${dump_dir:=/var/crash}
if ! [ -d "$dump_dir" ]; then
mkdir -p "$dump_dir"
chmod 700 "$dump_dir"
fi
if [ "$RC_UNAME" = FreeBSD ]; then
# Don't quote ${dump_device}, so that if it's unset,
# savecore will check on the partitions listed in fstab
# without errors in the output
savecore -C "$dump_dir" $dump_device >/dev/null
else
ls "$dump_dir"/bsd* > /dev/null 2>&1
fi
[ $? = 0 ] || return 0
local sopts="$dump_dir $dump_device"
yesno $dump_compress && sopts="-z $sopts"
ebegin "Saving kernel core dump in $dump_dir"
savecore $sopts >/dev/null
eend $?
}