savecore revision 179962
1235537Sgber#!/bin/sh 2235537Sgber# 3235537Sgber# $FreeBSD: head/etc/rc.d/savecore 179962 2008-06-23 20:54:32Z mtm $ 4235537Sgber# 5235537Sgber 6235537Sgber# PROVIDE: savecore 7235537Sgber# REQUIRE: syslogd 8235537Sgber# BEFORE: SERVERS 9235537Sgber# KEYWORD: nojail 10235537Sgber 11235537Sgber. /etc/rc.subr 12235537Sgber 13235537Sgbername="savecore" 14235537Sgberstart_cmd="savecore_start" 15235537Sgberstart_precmd="savecore_prestart" 16235537Sgberstop_cmd=":" 17235537Sgber 18235537Sgbersavecore_prestart() 19235537Sgber{ 20235537Sgber # ${DUMPDIR} should be a directory or a symbolic link 21235537Sgber # to the crash directory if core dumps are to be saved. 22235537Sgber # 23235537Sgber DUMPDIR="${dumpdir:-/var/crash}" 24235537Sgber 25235537Sgber # Quit if we have no dump device 26235537Sgber case ${dumpdev} in 27235537Sgber [Nn][Oo] | '') 28235537Sgber debug 'No dump device. Quitting.' 29235537Sgber return 1 30235537Sgber ;; 31235537Sgber [Aa][Uu][Tt][Oo]) 32235537Sgber dumpdev=`/bin/realpath /dev/dumpdev` 33235537Sgber ;; 34235537Sgber esac 35235537Sgber 36235537Sgber # If there is no crash directory set it now 37235537Sgber case ${dumpdir} in 38235537Sgber '') 39235537Sgber dumpdir='/var/crash' 40235537Sgber ;; 41235537Sgber [Nn][Oo]) 42235537Sgber dumpdir='NO' 43235537Sgber ;; 44235537Sgber esac 45235537Sgber 46235537Sgber if [ ! -c "${dumpdev}" ]; then 47235537Sgber warn "Dump device does not exist. Savecore not run." 48235537Sgber return 1 49235537Sgber fi 50235537Sgber 51235537Sgber if [ ! -d "${dumpdir}" ]; then 52235537Sgber warn "Dump directory does not exist. Savecore not run." 53235537Sgber return 1 54235537Sgber fi 55235537Sgber return 0 56235537Sgber} 57235537Sgber 58235537Sgbersavecore_start() 59235537Sgber{ 60235537Sgber if savecore -C >/dev/null; then 61235537Sgber savecore ${savecore_flags} ${DUMPDIR} ${dumpdev} 62235537Sgber else 63235537Sgber [ -z "${rc_quiet}" ] && echo "No core dumps found" 64235537Sgber fi 65235537Sgber} 66235537Sgber 67235537Sgberload_rc_config $name 68235537Sgberrun_rc_command "$1" 69235537Sgber