xref: /dragonfly/etc/rc.d/savecore (revision b40e316c)
1#!/bin/sh
2#
3# $NetBSD: savecore,v 1.5 2002/03/22 04:34:00 thorpej Exp $
4# $FreeBSD: src/etc/rc.d/savecore,v 1.3 2002/09/06 16:18:05 gordon Exp $
5# $DragonFly: src/etc/rc.d/savecore,v 1.5 2004/01/27 00:42:46 rob Exp $
6#
7
8# PROVIDE: savecore
9# REQUIRE: syslogd
10# BEFORE:  SERVERS
11# KEYWORD: DragonFly
12
13. /etc/rc.subr
14
15name="savecore"
16start_cmd="savecore_start"
17start_precmd="savecore_prestart"
18stop_cmd=":"
19
20case ${OSTYPE} in
21NetBSD)
22	rcvar=$name
23	;;
24esac
25
26savecore_prestart()
27{
28	#	${DUMPDIR} should be a directory or a symbolic link
29	#	to the crash directory if core dumps are to be saved.
30	#
31	DUMPDIR="${dumpdir:-/var/crash}"
32
33	# Quit if we have no dumb device
34	case ${dumpdev} in
35	[Nn][Oo] | '')
36		debug 'No dump device. Quitting.'
37		dumpdev=
38		return 0
39	;;
40	esac
41	# If there is no crash directory set it now
42	case ${dumpdir} in
43	'')
44		dumpdir='/var/crash'
45		;;
46	[Nn][Oo])
47		dumpdir='NO'
48		;;
49	esac
50	if [ ! -e "${dumpdev}" -o ! -d "${dumpdir}" ]; then
51		warn "Wrong dump device or directory. Savecore not run."
52		dumpdev=
53		return 0
54	fi
55	return 0
56}
57
58savecore_start()
59{
60	if [ X$dumpdev != X ]; then
61		echo "Checking for core dump..."
62		savecore ${savecore_flags} ${DUMPDIR}
63		return ${RC_CONFIGURED}
64	fi
65}
66
67load_rc_config $name
68run_rc_command "$1"
69