savecore revision 179962
178344Sobrien#!/bin/sh 278344Sobrien# 398184Sgordon# $FreeBSD: head/etc/rc.d/savecore 179962 2008-06-23 20:54:32Z mtm $ 478344Sobrien# 578344Sobrien 678344Sobrien# PROVIDE: savecore 778344Sobrien# REQUIRE: syslogd 898184Sgordon# BEFORE: SERVERS 9136224Smtm# KEYWORD: nojail 1078344Sobrien 1178344Sobrien. /etc/rc.subr 1278344Sobrien 1378344Sobrienname="savecore" 1478344Sobrienstart_cmd="savecore_start" 1598184Sgordonstart_precmd="savecore_prestart" 1678344Sobrienstop_cmd=":" 1778344Sobrien 1898184Sgordonsavecore_prestart() 1978344Sobrien{ 2098184Sgordon # ${DUMPDIR} should be a directory or a symbolic link 2178344Sobrien # to the crash directory if core dumps are to be saved. 2278344Sobrien # 2398184Sgordon DUMPDIR="${dumpdir:-/var/crash}" 2498184Sgordon 25124622Smtm # Quit if we have no dump device 26124622Smtm case ${dumpdev} in 27124622Smtm [Nn][Oo] | '') 28124622Smtm debug 'No dump device. Quitting.' 29124622Smtm return 1 30124622Smtm ;; 31136684Sthomas [Aa][Uu][Tt][Oo]) 32136901Sdes dumpdev=`/bin/realpath /dev/dumpdev` 33136684Sthomas ;; 34124622Smtm esac 3598184Sgordon 36124622Smtm # If there is no crash directory set it now 37124622Smtm case ${dumpdir} in 38124622Smtm '') 39124622Smtm dumpdir='/var/crash' 4098184Sgordon ;; 41124622Smtm [Nn][Oo]) 42124622Smtm dumpdir='NO' 4398184Sgordon ;; 4498184Sgordon esac 45124622Smtm 46136901Sdes if [ ! -c "${dumpdev}" ]; then 47136901Sdes warn "Dump device does not exist. Savecore not run." 48124622Smtm return 1 49124622Smtm fi 50136901Sdes 51136901Sdes if [ ! -d "${dumpdir}" ]; then 52136901Sdes warn "Dump directory does not exist. Savecore not run." 53136901Sdes return 1 54136901Sdes fi 5598184Sgordon return 0 5698184Sgordon} 5798184Sgordon 5898184Sgordonsavecore_start() 5998184Sgordon{ 60179962Smtm if savecore -C >/dev/null; then 61179962Smtm savecore ${savecore_flags} ${DUMPDIR} ${dumpdev} 62179962Smtm else 63179962Smtm [ -z "${rc_quiet}" ] && echo "No core dumps found" 64179962Smtm fi 6578344Sobrien} 6678344Sobrien 6778344Sobrienload_rc_config $name 6878344Sobrienrun_rc_command "$1" 69