savecore revision 124616
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 124616 2004-01-17 10:16:38Z mtm $ 578344Sobrien# 678344Sobrien 778344Sobrien# PROVIDE: savecore 878344Sobrien# REQUIRE: syslogd 998184Sgordon# BEFORE: SERVERS 10124616Smtm# KEYWORD: FreeBSD 1178344Sobrien 1278344Sobrien. /etc/rc.subr 1378344Sobrien 1478344Sobrienname="savecore" 1578344Sobrienstart_cmd="savecore_start" 1698184Sgordonstart_precmd="savecore_prestart" 1778344Sobrienstop_cmd=":" 1878344Sobrien 19103019Sgordoncase ${OSTYPE} in 2098184SgordonNetBSD) 2198184Sgordon rcvar=$name 2298184Sgordon ;; 2398184Sgordonesac 2498184Sgordon 2598184Sgordonsavecore_prestart() 2678344Sobrien{ 2798184Sgordon # ${DUMPDIR} should be a directory or a symbolic link 2878344Sobrien # to the crash directory if core dumps are to be saved. 2978344Sobrien # 3098184Sgordon DUMPDIR="${dumpdir:-/var/crash}" 3198184Sgordon 32103019Sgordon case ${OSTYPE} in 3398184Sgordon FreeBSD) 3498184Sgordon # Quit if we have no dump device 3598184Sgordon case ${dumpdev} in 3698184Sgordon [Nn][Oo] | '') 3798184Sgordon debug 'No dump device. Quitting.' 3898184Sgordon return 1 3998184Sgordon ;; 4098184Sgordon esac 4198184Sgordon 4298184Sgordon # If there is no crash directory set it now 4398184Sgordon case ${dumpdir} in 4498184Sgordon '') 4598184Sgordon dumpdir='/var/crash' 4698184Sgordon ;; 4798184Sgordon [Nn][Oo]) 4898184Sgordon dumpdir='NO' 4998184Sgordon ;; 5098184Sgordon esac 5198184Sgordon 5298184Sgordon if [ ! -e "${dumpdev}" -o ! -d "${dumpdir}" ]; then 5398184Sgordon warn "Wrong dump device or directory. Savecore not run." 5498184Sgordon return 1 5598184Sgordon fi 5698184Sgordon ;; 5798184Sgordon NetBSD) 5898184Sgordon if [ ! -d "${dumpdir}" ]; then 5998184Sgordon warn "No /var/crash directory; savecore not run." 6098184Sgordon return 1 6198184Sgordon fi 6298184Sgordon ;; 6398184Sgordon esac 6498184Sgordon return 0 6598184Sgordon} 6698184Sgordon 6798184Sgordonsavecore_start() 6898184Sgordon{ 6978344Sobrien echo "Checking for core dump..." 7098184Sgordon savecore ${savecore_flags} ${DUMPDIR} 7178344Sobrien} 7278344Sobrien 7378344Sobrienload_rc_config $name 7478344Sobrienrun_rc_command "$1" 75