savecore revision 98184
1281SN/A#!/bin/sh 2281SN/A# 3281SN/A# $NetBSD: savecore,v 1.5 2002/03/22 04:34:00 thorpej Exp $ 4281SN/A# $FreeBSD: head/etc/rc.d/savecore 98184 2002-06-13 22:14:37Z gordon $ 5281SN/A# 6281SN/A 7281SN/A# PROVIDE: savecore 8281SN/A# REQUIRE: syslogd 9281SN/A# BEFORE: SERVERS 10281SN/A# KEYWORD: FreeBSD NetBSD 11281SN/A 12281SN/A. /etc/rc.subr 13281SN/A 14281SN/Aname="savecore" 15281SN/Astart_cmd="savecore_start" 16281SN/Astart_precmd="savecore_prestart" 17281SN/Astop_cmd=":" 18281SN/A 19281SN/Acase `${CMD_OSTYPE}` in 20281SN/ANetBSD) 21281SN/A rcvar=$name 22281SN/A ;; 23281SN/Aesac 24281SN/A 25281SN/Asavecore_prestart() 26281SN/A{ 27281SN/A # ${DUMPDIR} should be a directory or a symbolic link 28281SN/A # to the crash directory if core dumps are to be saved. 29281SN/A # 30605SN/A DUMPDIR="${dumpdir:-/var/crash}" 31605SN/A 32281SN/A case `${CMD_OSTYPE}` in 33281SN/A FreeBSD) 34281SN/A # Quit if we have no dump device 351197Saefimov case ${dumpdev} in 361197Saefimov [Nn][Oo] | '') 37281SN/A debug 'No dump device. Quitting.' 38281SN/A return 1 39598SN/A ;; 40281SN/A esac 41281SN/A 42281SN/A # If there is no crash directory set it now 43281SN/A case ${dumpdir} in 44281SN/A '') 45281SN/A dumpdir='/var/crash' 46281SN/A ;; 47281SN/A [Nn][Oo]) 48281SN/A dumpdir='NO' 49281SN/A ;; 50281SN/A esac 51281SN/A 52281SN/A if [ ! -e "${dumpdev}" -o ! -d "${dumpdir}" ]; then 53281SN/A warn "Wrong dump device or directory. Savecore not run." 54281SN/A return 1 55281SN/A fi 56281SN/A ;; 57281SN/A NetBSD) 58281SN/A if [ ! -d "${dumpdir}" ]; then 59281SN/A warn "No /var/crash directory; savecore not run." 60281SN/A return 1 61281SN/A fi 62281SN/A ;; 63281SN/A esac 64281SN/A return 0 65281SN/A} 66281SN/A 67281SN/Asavecore_start() 68281SN/A{ 69281SN/A echo "Checking for core dump..." 70281SN/A savecore ${savecore_flags} ${DUMPDIR} 71281SN/A} 72281SN/A 73281SN/Aload_rc_config $name 74281SN/Arun_rc_command "$1" 75281SN/A