savecore revision 180318
178344Sobrien#!/bin/sh 278344Sobrien# 398184Sgordon# $FreeBSD: head/etc/rc.d/savecore 180318 2008-07-06 08:31:29Z 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{ 20124622Smtm # Quit if we have no dump device 21124622Smtm case ${dumpdev} in 22124622Smtm [Nn][Oo] | '') 23124622Smtm debug 'No dump device. Quitting.' 24124622Smtm return 1 25124622Smtm ;; 26136684Sthomas [Aa][Uu][Tt][Oo]) 27136901Sdes dumpdev=`/bin/realpath /dev/dumpdev` 28136684Sthomas ;; 29124622Smtm esac 3098184Sgordon 31124622Smtm # If there is no crash directory set it now 32124622Smtm case ${dumpdir} in 33124622Smtm '') 34124622Smtm dumpdir='/var/crash' 3598184Sgordon ;; 36124622Smtm [Nn][Oo]) 37124622Smtm dumpdir='NO' 3898184Sgordon ;; 3998184Sgordon esac 40124622Smtm 41136901Sdes if [ ! -c "${dumpdev}" ]; then 42136901Sdes warn "Dump device does not exist. Savecore not run." 43124622Smtm return 1 44124622Smtm fi 45136901Sdes 46136901Sdes if [ ! -d "${dumpdir}" ]; then 47136901Sdes warn "Dump directory does not exist. Savecore not run." 48136901Sdes return 1 49136901Sdes fi 5098184Sgordon return 0 5198184Sgordon} 5298184Sgordon 5398184Sgordonsavecore_start() 5498184Sgordon{ 55180317Smtm local dev 56180317Smtm 57180317Smtm case "${dumpdev}" in 58180317Smtm [Aa][Uu][Tt][Oo]) 59180317Smtm dev= 60180317Smtm ;; 61180317Smtm *) 62180317Smtm dev="${dumpdev}" 63180317Smtm ;; 64180317Smtm esac 65180317Smtm 66180317Smtm if savecore -C "${dumpdir}" "${dev}" >/dev/null; then 67180318Smtm savecore ${savecore_flags} ${dumpdir} ${dumpdev} 68179962Smtm else 69179962Smtm [ -z "${rc_quiet}" ] && echo "No core dumps found" 70179962Smtm fi 7178344Sobrien} 7278344Sobrien 7378344Sobrienload_rc_config $name 7478344Sobrienrun_rc_command "$1" 75