blob: cab91b9acc2984b2697a4031e4132d9e3bf39249 [file] [log] [blame]
#!/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