#!/bin/bash
#
# pmacctd          Start/Stop the softflow daemon.
#
# chkconfig: 2345 91 9
# description: pmacct network monitoring daemon
#
### BEGIN INIT INFO
# Provides: pmacctd
# Required-Start: $network
# Required-Stop: $network
# Should-Stop: mysqld postgresql ntpd named
# Should-Start: mysqld postgresql ntpd named
# Short-Description: Init script for pmacctd daemon.
# Description: Init script for pmacctd daemon.
### END INIT INFO

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

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 1

prog=pmacctd
lockfile=/var/lock/subsys/$prog

start () {
    status $prog > /dev/null && return 0

    CONFIGS=`ls /etc/pmacct/pmacctd*conf 2>/dev/null`

    if [ -n "$CONFIGS" ]; then
        for CONFIG in `ls /etc/pmacct/pmacctd_*conf`; do
            BASENAME=`echo $CONFIG | sed -e 's/.*\/pmacctd_//' -e 's/\.conf$//'`
            echo -n "Starting $prog for $BASENAME: "
            daemon $prog -f "$CONFIG"
            RETVAL=$?
            echo
            [ $RETVAL -eq 0 ] && touch $lockfile
        done
    else
        echo -n "Skipping $prog: "
        success
    fi
}

stop () {
    [ "$EUID" != "0" ] && exit 4
    echo -n $"Stopping $prog: "
    killproc $prog
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && rm -f $lockfile*
    return $RETVAL
}

# See how we were called.
case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  status)
    status $prog
    ;;
  restart)
    stop
    start
    ;;
  condrestart)
    if status $prog > /dev/null; then
        stop
        start
    fi
    ;;
  reload)
    exit 3
    ;;
  *)
    echo $"Usage: $0 {start|stop|status|restart|try-restart|force-reload}"
    exit 2
esac
