savecore revision 136684
178344Sobrien#!/bin/sh 278344Sobrien# 398184Sgordon# $NetBSD: savecore,v 1.5 2002/03/22 04:34:00 thorpej Exp $ 498184Sgordon# $FreeBSD: head/etc/rc.d/savecore 136684 2004-10-18 23:40:13Z thomas $ 578344Sobrien# 678344Sobrien 778344Sobrien# PROVIDE: savecore 878344Sobrien# REQUIRE: syslogd 998184Sgordon# BEFORE: SERVERS 10136224Smtm# KEYWORD: nojail 1178344Sobrien 1278344Sobrien. /etc/rc.subr 1378344Sobrien 1478344Sobrienname="savecore" 1578344Sobrienstart_cmd="savecore_start" 1698184Sgordonstart_precmd="savecore_prestart" 1778344Sobrienstop_cmd=":" 1878344Sobrien 1998184Sgordonsavecore_prestart() 2078344Sobrien{ 2198184Sgordon # ${DUMPDIR} should be a directory or a symbolic link 2278344Sobrien # to the crash directory if core dumps are to be saved. 2378344Sobrien # 2498184Sgordon DUMPDIR="${dumpdir:-/var/crash}" 2598184Sgordon 26124622Smtm # Quit if we have no dump device 27124622Smtm case ${dumpdev} in 28124622Smtm [Nn][Oo] | '') 29124622Smtm debug 'No dump device. Quitting.' 30124622Smtm return 1 31124622Smtm ;; 32136684Sthomas [Aa][Uu][Tt][Oo]) 33136684Sthomas dumpdev=/dev/dumpdev 34136684Sthomas ;; 35124622Smtm esac 3698184Sgordon 37124622Smtm # If there is no crash directory set it now 38124622Smtm case ${dumpdir} in 39124622Smtm '') 40124622Smtm dumpdir='/var/crash' 4198184Sgordon ;; 42124622Smtm [Nn][Oo]) 43124622Smtm dumpdir='NO' 4498184Sgordon ;; 4598184Sgordon esac 46124622Smtm 47124622Smtm if [ ! -e "${dumpdev}" -o ! -d "${dumpdir}" ]; then 48124622Smtm warn "Wrong dump device or directory. Savecore not run." 49124622Smtm return 1 50124622Smtm fi 5198184Sgordon return 0 5298184Sgordon} 5398184Sgordon 5498184Sgordonsavecore_start() 5598184Sgordon{ 56136684Sthomas echo "Checking for core dump on ${dumpdev}..." 57136684Sthomas savecore ${savecore_flags} ${DUMPDIR} ${dumpdev} 5878344Sobrien} 5978344Sobrien 6078344Sobrienload_rc_config $name 6178344Sobrienrun_rc_command "$1" 62