Blame | Last modification | View Log | RSS feed
#!/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.#### BEGIN INIT INFO# Default-Start: 2 3 4 5# Default-Stop: 0 1 6# Short-Description: Start and stop the MD software RAID monitor# Description: The mdmonitor service checks the status of all software# RAID arrays on the system. In the event that any of the arrays# transition into a degraded state, it notifies the system# administrator. Other options are available, see the mdadm.conf# and mdadm man pages for possible ways to configure this service.### END INIT INFOPIDFILE=/var/run/mdadm/mdadm.pidPATH=/sbin:/usr/sbin:$PATHRETVAL=0OPTIONS="--monitor --scan -f --pid-file=$PIDFILE"prog=mdmonitor# Source function library.. /etc/rc.d/init.d/functionsusage (){echo "Usage: service $prog {start|stop|status|restart|try-restart|force-reload}"RETVAL=1}start (){# (Re)start mdmon to take over monitoring of mdmon started from the initrdfor i in /dev/md/*.pid; doif [ -r $i ]; thenorigprog="$prog"; prog="mdmon"action $"Starting $prog: " /sbin/mdmon --takeover --allprog="$origprog"breakfidone# 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 ] || return 6grep '^\(MAILADDR\|PROGRAM\) .' /etc/mdadm.conf >/dev/null 2>&1 || return 6if [ -f "$PIDFILE" ]; thencheckpid `cat $PIDFILE` && return 0fiecho -n $"Starting $prog: "cd /daemon --user=root mdadm ${OPTIONS}ret=$?[ $ret -eq "0" ] && touch /var/lock/subsys/$progechoreturn $ret}stop (){[ -f /var/lock/subsys/$prog ] || return 0echo -n "Killing $prog: "killproc mdadmechorm -f $PIDFILErm -f /var/lock/subsys/$prog}restart (){stopstart}condrestart (){[ -e /var/lock/subsys/$prog ] && restart || return 0}case "$1" instart|stop|restart|condrestart|try-restart|force-reload)[ `id -u` != "0" ] && exit 4 ;;esaccase "$1" instart) start; RETVAL=$? ;;stop) stop; RETVAL=$? ;;status) status -p $PIDFILE $prog ; RETVAL=$? ;;restart) restart; RETVAL=$? ;;reload) RETVAL=3 ;;condrestart|try-restart|force-reload) condrestart; RETVAL=$? ;;*) usage ; RETVAL=2 ;;esacexit $RETVAL