]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - etc/rc.d/savecore
Pull in /etc/rc.conf.d/network so that ifconfig_<if> variables can be
[FreeBSD/FreeBSD.git] / etc / rc.d / savecore
1 #!/bin/sh
2 #
3 # $NetBSD: savecore,v 1.5 2002/03/22 04:34:00 thorpej Exp $
4 # $FreeBSD$
5 #
6
7 # PROVIDE: savecore
8 # REQUIRE: syslogd
9 # BEFORE:  SERVERS
10 # KEYWORD: nojail
11
12 . /etc/rc.subr
13
14 name="savecore"
15 start_cmd="savecore_start"
16 start_precmd="savecore_prestart"
17 stop_cmd=":"
18
19 savecore_prestart()
20 {
21         #       ${DUMPDIR} should be a directory or a symbolic link
22         #       to the crash directory if core dumps are to be saved.
23         #
24         DUMPDIR="${dumpdir:-/var/crash}"
25
26         # Quit if we have no dump device
27         case ${dumpdev} in
28         [Nn][Oo] | '')
29                 debug 'No dump device. Quitting.'
30                 return 1
31                 ;;
32         [Aa][Uu][Tt][Oo])
33                 dumpdev=`/bin/realpath /dev/dumpdev`
34                 ;;
35         esac
36
37         # If there is no crash directory set it now
38         case ${dumpdir} in
39         '')
40                 dumpdir='/var/crash'
41                 ;;
42         [Nn][Oo])
43                 dumpdir='NO'
44                 ;;
45         esac
46
47         if [ ! -c "${dumpdev}" ]; then
48                 warn "Dump device does not exist.  Savecore not run."
49                 return 1
50         fi
51
52         if [ ! -d "${dumpdir}" ]; then
53                 warn "Dump directory does not exist.  Savecore not run."
54                 return 1
55         fi
56         return 0
57 }
58
59 savecore_start()
60 {
61         echo "Checking for core dump on ${dumpdev}..."
62         savecore ${savecore_flags} ${DUMPDIR} ${dumpdev}
63 }
64
65 load_rc_config $name
66 run_rc_command "$1"