#!/bin/sh # # $NetBSD: savecore,v 1.5 2002/03/22 04:34:00 thorpej Exp $ # $FreeBSD$ # # PROVIDE: savecore # REQUIRE: syslogd # BEFORE: SERVERS # KEYWORD: FreeBSD NetBSD . /etc/rc.subr name="savecore" start_cmd="savecore_start" start_precmd="savecore_prestart" stop_cmd=":" case ${OSTYPE} in NetBSD) rcvar=$name ;; esac savecore_prestart() { # ${DUMPDIR} should be a directory or a symbolic link # to the crash directory if core dumps are to be saved. # DUMPDIR="${dumpdir:-/var/crash}" case ${OSTYPE} in FreeBSD) # Quit if we have no dump device case ${dumpdev} in [Nn][Oo] | '') debug 'No dump device. Quitting.' return 1 ;; esac # If there is no crash directory set it now case ${dumpdir} in '') dumpdir='/var/crash' ;; [Nn][Oo]) dumpdir='NO' ;; esac if [ ! -e "${dumpdev}" -o ! -d "${dumpdir}" ]; then warn "Wrong dump device or directory. Savecore not run." return 1 fi ;; NetBSD) if [ ! -d "${dumpdir}" ]; then warn "No /var/crash directory; savecore not run." return 1 fi ;; esac return 0 } savecore_start() { echo "Checking for core dump..." savecore ${savecore_flags} ${DUMPDIR} } load_rc_config $name run_rc_command "$1"