73 lines
1.7 KiB
Plaintext
73 lines
1.7 KiB
Plaintext
|
#!/bin/sh
|
||
|
#
|
||
|
# Start the MD monitor daemon for all active MD arrays if desired.
|
||
|
#
|
||
|
### BEGIN INIT INFO
|
||
|
# Provides: mdadm
|
||
|
# Required-Start: $local_fs $syslog mdadm-raid
|
||
|
# Required-Stop: $local_fs $syslog mdadm-raid
|
||
|
# Default-Start: 2 3 4 5
|
||
|
# Default-Stop: 0 1 6
|
||
|
# Short-Description: MD monitoring daemon
|
||
|
# Description: mdadm provides a monitor mode, in which it will scan for
|
||
|
# problems with the MD devices. If a problem is found, the
|
||
|
# administrator is alerted via email, or a custom script is
|
||
|
# run.
|
||
|
### END INIT INFO
|
||
|
#
|
||
|
|
||
|
MDADM=/sbin/mdadm
|
||
|
RUNDIR=/var/run/mdadm
|
||
|
PIDFILE=$RUNDIR/monitor.pid
|
||
|
DEBIANCONFIG=/etc/default/mdadm
|
||
|
|
||
|
test -x "$MDADM" || exit 0
|
||
|
|
||
|
test -f /proc/mdstat || exit 0
|
||
|
|
||
|
START_DAEMON=true
|
||
|
test -f $DEBIANCONFIG && . $DEBIANCONFIG
|
||
|
|
||
|
. /lib/lsb/init-functions
|
||
|
|
||
|
# Include functions
|
||
|
. /etc/init.d/functions
|
||
|
|
||
|
case "${1:-}" in
|
||
|
start)
|
||
|
if is_true $START_DAEMON; then
|
||
|
log_daemon_msg "Starting MD monitoring service" "mdadm --monitor"
|
||
|
mkdir -p $RUNDIR
|
||
|
start-stop-daemon -S -p $PIDFILE -x $MDADM -- \
|
||
|
--monitor --pid-file $PIDFILE --daemonise --scan ${DAEMON_OPTIONS:-}
|
||
|
RETVAL=$?
|
||
|
log_end_msg $RETVAL
|
||
|
exit $RETVAL
|
||
|
fi
|
||
|
;;
|
||
|
stop)
|
||
|
if [ -f $PIDFILE ] ; then
|
||
|
log_daemon_msg "Stopping MD monitoring service" "mdadm --monitor"
|
||
|
start-stop-daemon -K -p $PIDFILE -x $MDADM
|
||
|
RETVAL=$?
|
||
|
rm -f $PIDFILE
|
||
|
log_end_msg $RETVAL
|
||
|
exit $RETVAL
|
||
|
fi
|
||
|
;;
|
||
|
status)
|
||
|
status -p $PIDFILE "$MDADM" && exit 0 || exit $?
|
||
|
;;
|
||
|
restart|reload|force-reload)
|
||
|
${0:-} stop
|
||
|
${0:-} start
|
||
|
;;
|
||
|
*)
|
||
|
echo "Usage: ${0:-} {start|stop|status|restart|reload|force-reload}" >&2
|
||
|
exit 1
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
exit 0
|
||
|
|