summaryrefslogtreecommitdiff
path: root/debian/kdump-tools.init
blob: 43fe7f61a9e360783c1f27398a6821bdff765974 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#! /bin/sh

### BEGIN INIT INFO
# Provides:          kdump-tools
# Required-Start:    $syslog $time $local_fs $remote_fs $network
# Required-Stop:     $syslog
# Default-Start:     2 3 4 5
# Default-Stop:
# Short-Description: kdump
# Description:       init script to load a kdump kernel or save vmcores
### END INIT INFO

PATH=/bin:/usr/bin:/sbin:/usr/sbin
NAME="kdump-tools"
DESC="kdump-tools"
export NAME

. /lib/lsb/init-functions
. /lib/init/vars.sh

VMCORE_FILE=/proc/vmcore
KDUMP_SCRIPT=/usr/sbin/kdump-config
KDUMP_DEFAULTS=/etc/default/kdump-tools
[ -r $KDUMP_DEFAULTS ] && . $KDUMP_DEFAULTS

[ $USE_KDUMP -ne 0 ] || exit 0;

case "$1" in
  start)
	if init_is_upstart; then
            exit 1
        fi
	#
	# If we have a /proc/vmcore, then we just kdump'ed
	#
	if [ -e $VMCORE_FILE -a -s $VMCORE_FILE ]; then
		echo -n "Starting $DESC: "
		$KDUMP_SCRIPT savecore
		if [ $? -ne 0 -a -n "$KDUMP_FAIL_CMD" ] ; then
			$KDUMP_FAIL_CMD ;
		else
			date -R ;
			reboot -f ;
		fi
	#
	# Else, we've just booted and need to load the kdump kernel
	#
	else
		echo -n "Starting $DESC: "
		$KDUMP_SCRIPT load
	fi
	;;
  stop)
	if init_is_upstart; then
            exit 1
        fi
	echo -n "Stopping $DESC: "
	$KDUMP_SCRIPT unload
	;;
  status)
	$KDUMP_SCRIPT status
	;;
  restart|force-reload)
	if init_is_upstart; then
            exit 1
        fi
  	# alias the required 'force-reload' option
	$KDUMP_SCRIPT unload
	$KDUMP_SCRIPT load
	;;
  *)
	echo "Usage: $0 {start|stop|status|restart|force-reload}"
	exit 1
esac

exit 0