mdadm/mdmonitor.init

86 lines
1.7 KiB
Plaintext
Raw Normal View History

#!/bin/bash
#
# mdmonitor This starts, stops, and reloads the mdadm-based
# software RAID monitoring and management facility
#
# chkconfig: 2345 15 85
# description: software RAID monitoring and management
# config: /etc/mdadm.conf
#
# Copyright 2002 Red Hat, Inc.
PATH=/sbin:/usr/sbin:$PATH
RETVAL=0
prog=mdmonitor
# Source function library.
. /etc/rc.d/init.d/functions
# Make sure configuration file exists and has information we can use
# MAILADDR or PROGRAM or both must be set in order to run mdadm --monitor
[ -f /etc/mdadm.conf ] || exit 0
grep '^\(MAILADDR\|PROGRAM\) .' /etc/mdadm.conf >/dev/null 2>&1 || exit 0
usage ()
{
echo "Usage: service $prog {start|stop|status|restart|condrestart}"
RETVAL=1
}
start ()
{
ulimit -S -c 0 >/dev/null 2>&1
echo -n $"Starting $prog: "
daemon --check mdadm \
"/bin/bash -c \"mdadm --monitor --scan -f > /var/run/mdadm/mdadm.pid\""
# hack: wait for mdadm to die, assume success if it doesn't die quickly
usleep 100000
if [ -s /var/run/mdadm/mdadm.pid -a -d /proc/$(cat /var/run/mdadm/mdadm.pid) ] ; then
success $"mdadm"
RETVAL=0
touch /var/lock/subsys/$prog
else
failure $"mdadm"
rm -f /var/run/mdadm/mdadm.pid
rm -f /var/lock/subsys/$prog
RETVAL=1
fi
echo
}
stop ()
{
echo -n "Killing $prog: "
killproc mdadm
echo
rm -f /var/run/mdadm/mdadm.pid
rm -f /var/lock/subsys/$prog
}
restart ()
{
stop
start
}
condrestart ()
{
[ -e /var/lock/subsys/$prog ] && restart
}
case "$1" in
start) start ;;
stop) stop ;;
status) status mdadm ;;
restart|reload) restart ;;
condrestart) condrestart ;;
*) usage ;;
esac
exit $RETVAL