]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - etc/rc.d/savecore
Merge in all the changes that Mike Makonnen has been maintaining for a
[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: FreeBSD NetBSD
11
12 . /etc/rc.subr
13
14 name="savecore"
15 start_cmd="savecore_start"
16 start_precmd="savecore_prestart"
17 stop_cmd=":"
18
19 case `${CMD_OSTYPE}` in
20 NetBSD)
21         rcvar=$name
22         ;;
23 esac
24
25 savecore_prestart()
26 {
27         #       ${DUMPDIR} should be a directory or a symbolic link
28         #       to the crash directory if core dumps are to be saved.
29         #
30         DUMPDIR="${dumpdir:-/var/crash}"
31
32         case `${CMD_OSTYPE}` in
33         FreeBSD)
34                 # Quit if we have no dump device
35                 case ${dumpdev} in
36                 [Nn][Oo] | '')
37                         debug 'No dump device. Quitting.'
38                         return 1
39                         ;;
40                 esac
41
42                 # If there is no crash directory set it now
43                 case ${dumpdir} in
44                 '')
45                         dumpdir='/var/crash'
46                         ;;
47                 [Nn][Oo])
48                         dumpdir='NO'
49                         ;;
50                 esac
51
52                 if [ ! -e "${dumpdev}" -o ! -d "${dumpdir}" ]; then
53                         warn "Wrong dump device or directory. Savecore not run."
54                         return 1
55                 fi
56                 ;;
57         NetBSD)
58                 if [ ! -d "${dumpdir}" ]; then
59                         warn "No /var/crash directory; savecore not run."
60                         return 1
61                 fi
62                 ;;
63         esac
64         return 0
65 }
66
67 savecore_start()
68 {
69                 echo "Checking for core dump..."
70                 savecore ${savecore_flags} ${DUMPDIR}
71 }
72
73 load_rc_config $name
74 run_rc_command "$1"