#! /bin/sh # # ipmiutil_evt init script # # chkconfig: - 91 59 # description: ipmiutil event monitoring service # # This starts a daemon that listens for IPMI events. Any events are logged # in /var/log/ipmiutil_evt.log and also to syslog. # By changing RUNSCRIPT below, the specified script could also be invoked # whenever an event occurs. A sample event script is provided at # /usr/share/ipmiutil/evt.sh # ### BEGIN INIT INFO # Provides: ipmiutil_evt # Required-Start: $local_fs $remote_fs $syslog # Required-Stop: $local_fs $remote_fs $syslog # Default-Start: 3 4 5 3 4 5 # Default-Stop: 0 1 2 6 0 1 2 6 # Short-Description: ipmiutil event monitoring init script # Description: Init script starts ipmiutil event monitoring service ### END INIT INFO # #if [ -f /etc/init.d/functions ]; then # Source function library. #. /etc/init.d/functions #fi name="ipmiutil_evt" getevtlog=/var/log/$name.log lockfile=/var/lock/subsys/$name prog=/usr/bin/ipmiutil RUNSCRIPT= # RUNSCRIPT="-r /usr/share/ipmiutil/evt.sh" getpid () { p=`ps -ef |grep "$1" |grep -v grep |awk '{print $2}'` echo $p } start() { echo -n "Starting $name: " # do not start if in driverless mode ipmiutil cmd -k |grep "driverless" >/dev/null 2>&1 if [ $? -eq 0 ]; then driverok=0 else driverok=1 fi if [ $driverok -eq 1 ] then [ -x $prog ] || exit 5 $prog getevt -s -b -t 0 $RUNSCRIPT >$getevtlog retval=$? PID=$! if [ $retval -eq 0 ]; then PID=`getpid "$prog getevt -s"` echo $PID >$lockfile fi else echo "No imb or ipmi driver loaded, aborting." retval=1 fi echo return $retval } stop() { echo -n "Stopping $name: " retval=1 if [ -f $lockfile ]; then p=`cat $lockfile` if [ "x$p" = "x" ]; then p=`getpid "$prog getevt -s"` fi if [ "x$p" != "x" ]; then kill $p retval=$? fi fi echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { stop start } rh_status() { if [ -f $lockfile ]; then p=`cat $lockfile` if [ "x$p" != "x" ]; then pid=`getpid $p` if [ "x$pid" != "x" ]; then echo "$name (pid $pid) is running..." retval=0 else echo "$name is dead but $lockfile exists" retval=1 fi else echo "$name $lockfile exists but is empty" retval=1 fi else echo "$name is stopped" retval=3 fi return $retval } rh_status_q() { rh_status >/dev/null 2>&1 } if [ ! -d /var/lock/subsys ]; then lockfile=/var/run/$name.pid fi case "$1" in start) rh_status_q && exit 0 start ;; stop) rh_status_q || exit 0 stop ;; restart) restart ;; reload) rh_status_q || exit 7 restart ;; force-reload) restart ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 restart ;; *) echo "Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" exit 2 esac exit $?