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