#!/bin/sh
#
# mailgraph	This shell script takes care of starting and stopping
#		mailgraph service.
#
# chkconfig:	345 55 45
# description:	mailgraph watches postfix logfiles and generates www statistics

WITHOUT_RC_COMPAT=1

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

BINARY=/usr/sbin/mailgraph.pl
MAILGRAPH_CONFIG=/etc/mailgraph.conf
PIDFILE=/var/run/mailgraph/mailgraph.pid
RRD_DIR=/var/lib/mailgraph
MAIL_LOG=/var/log/maillog
USER=mailgraph

[ -f "$MAILGRAPH_CONFIG" ] && source $MAILGRAPH_CONFIG

ARGS="-l $MAIL_LOG -d --daemon_rrd=$RRD_DIR --daemon_pid=$PIDFILE --daemon_log=$RRD_DIR/mailgraph.log -v"

start()
{
	start_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" \
		--expect-user $USER --name mailgraph.pl -- "$BINARY" $ARGS
	RETVAL=$?
	return $RETVAL
}

stop()
{
	stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" \
		--expect-user $USER --name mailgraph.pl -- "$BINARY" $ARGS
	RETVAL=$?
	return $RETVAL
}

# See how we were called.
case "$1" in
  start)
  	start
	;;
  stop)
	stop;;
  status)
  	status mailgraph.pl
	exit $?
	;;
  condstop)
  	if [ -f "$LOCKFILE" ]; then
		stop
	fi
	;;
  condstart)
  	if [ ! -f "$LOCKFILE" ]; then
		start
	fi
	;;
  condrestart)
  	if [ -f "$LOCKFILE" ]; then
		stop
		start
	fi
	;;
  restart)
	stop
	start
	;;
  *)
        echo "Usage: $0 {start|stop|status|restart}"
        RETVAL=1
esac

exit $RETVAL
