#!/bin/sh
#
#   chkconfig: 2345 51 49
#   description: Startup/shutdown script for MRTG
#

# Source function library.
. /etc/init.d/functions

# Check that mrtg exists.
DAEMON=/usr/bin/mrtg
[ -f $DAEMON ] || exit 1

# Define Indexmaker
INDEXMAKER=/usr/bin/indexmaker
[ -f $INDEXMAKER ] || exit 1

# Create WWW Index Directory
WWWDIR=/var/www/mrtg
[ ! -d $WWWDIR ] && mkdir -p $WWWDIR

# Create Process ID Directory
PIDDIR=/var/run/mrtg
[ ! -d $PIDDIR ] && mkdir -p $PIDDIR

# Create Log Directory
LOGDIR=/var/log/mrtg
[ ! -d $LOGDIR ] && mkdir -p $LOGDIR

# Check for valid config
CFGFILE=/etc/mrtg/mrtg.cfg
grep "^RunAsDaemon: Yes" $CFGFILE > /dev/null 2>&1
if [ $? != 0 ] 
 then
  echo
  echo "RunAsDaemon: Yes, required in $CFGFILE"
  echo
  exit 1
fi

RETVAL=0  
prog=mrtg
LANG=C
WWWFILE=${WWWDIR}/index.html
PIDFILE=${PIDDIR}/mrtg.pid
LOGFILE=${LOGDIR}/mrtg.log
LOCKFILE=/var/lock/subsys/mrtg
OPTIONS="--daemon --pid-file="$PIDFILE" --lock-file $LOCKFILE --logging $LOGFILE $CFGFILE"
INDEXOPTIONS="--output="$WWWFILE" --nolegend --columns=1"

start () {
	echo -n $"Starting $prog: "
        $INDEXMAKER $INDEXOPTIONS $CFGFILE > /dev/null
	daemon $DAEMON $OPTIONS
        RETVAL=$?
	echo
	[ $RETVAL = 0 ] && touch $LOCKFILE
	return $RETVAL
}

stop () {
	echo -n $"Stopping $prog: "
	killproc $DAEMON
	RETVAL=$?
	echo
	[ $RETVAL = 0 ] && rm -f $LOCKFILE
}

restart() {
	stop
	start
}

case $1 in
	start)
		start
	;;
	stop)
		stop
	;;
	restart)
		restart
	;;
	status)
		status $DAEMON
		RETVAL=$?
	;;
	*)

	echo "Usage: $prog {start|stop|restart|status}"
	exit 3
esac

exit $RETVAL
