Package: pmacct
Version: 0.12.5-1

Even though the pmacct packages provides the sfacctd, nfacctd daemons in 
addition
to the pmacctd daemon, they are missing corresponding initscripts, default-files
and sample configs.

I've attached proposed files for inclusion - the sfacct ones, I've tested, the
nfacct, pmacct ones, I've not. That said, the changes compared the currently
provided files for pmacct, is pretty much a matter of search/replace. The only
other changes I've made are:

- stop function of the initscripts now uses SIGTERM instead of SIGINT, as SIGINT
  does not seem to be adequate anymore.
- the sample config files have had <daemon-name>_ prepended to the recovery_log
  filenames.

I've tested the proposed changes on the sfacct side of things, on Ubuntu Lucid.

Please let me know if you'd rather have a diff or something.

/Thomas

# Defaults for nfacct initscript
# sourced by /etc/init.d/nfacct
# installed at /etc/default/sfacct by the maintainer scripts

#
# This is a POSIX shell fragment
#

# Location of the configuration file
NFACCTD_CONF=/etc/pmacct/nfacctd.conf

# List of interfaces to start accounting on.
# See /usr/share/doc/pmacct/README.Debian for details.
INTERFACES=""

# Additional options that are passed to nfacctd
DAEMON_OPTS=""
#!/bin/sh

### BEGIN INIT INFO
# Provides: nfacct
# Required-start: $network $syslog
# Required-stop: $network $syslog
# Default-start: 2 3 4 5
# Default-stop: 0 1 6
# Short-Description: netflow accounting daemon
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/nfacctd
NAME=nfacctd
DESC="netflow accounting daemon"
CONFDIR=/etc/pmacct

test -x $DAEMON || exit 0

# Include nfacct defaults if available
if [ -f /etc/default/nfacct ] ; then
        . /etc/default/nfacct
fi

stop () {
    #start-stop-daemon --stop --oknodo --quiet \
    #   --pidfile /var/run/$NAME.pid \
    #   --exec $DAEMON
    killall -TERM nfacctd
}

start () {
    #start-stop-daemon --start --oknodo --quiet \
    #   --pidfile /var/run/$NAME.pid \
    #   --exec $DAEMON -- -f $PMACCTD_CONF $DAEMON_OPTS
    if [ -n "$INTERFACES" ]; then
        for i in $INTERFACES; do
                ip link set $i up
                $DAEMON -f $CONFDIR/nfacctd.$i.conf $DAEMON_OPTS
        done
    else
        $DAEMON -f $CONFDIR/nfacctd.conf $DAEMON_OPTS
    fi
}

case "$1" in
  start)
        echo -n "Starting $DESC: "
        start
        echo "$NAME."
        ;;
  stop)
        echo -n "Stopping $DESC: "
        stop
        echo "$NAME."
        ;;
  #reload)
        #
        #       If the daemon can reload its config files on the fly
        #       for example by sending it SIGHUP, do it here.
        #
        #       If the daemon responds to changes in its config file
        #       directly anyway, make this a do-nothing entry.
        #
        # echo "Reloading $DESC configuration files."
        # start-stop-daemon --stop --signal 1 --quiet --pidfile \
        #       /var/run/$NAME.pid --exec $DAEMON
  #;;
  restart|force-reload)
        #
        #       If the "reload" option is implemented, move the "force-reload"
        #       option to the "reload" entry above. If not, "force-reload" is
        #       just the same as "restart".
        #
        echo -n "Restarting $DESC: "
        stop
        sleep 1
        start
        echo "$NAME."
        ;;
  *)
        N=/etc/init.d/$NAME
        # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
        echo "Usage: $N {start|stop|restart|force-reload}" >&2
        exit 1
        ;;
esac

exit 0
! nfacctd configuration
!
!
!
daemonize: true
pidfile: /var/run/nfacctd.pid
syslog: daemon
!
! interested in in and outbound traffic
aggregate: src_host,dst_host
! on this network
pcap_filter: net 127.0.0.0/8
! on this interface
interface: lo
!
! storage methods
!plugins: pgsql
!sql_host: localhost
!sql_passwd:
! refresh the db every minute
!sql_refresh_time: 60
! reduce the size of the insert/update clause
!sql_optimize_clauses: true
! accumulate values in each row for up to an hour
!sql_history: 1h
! create new rows on the minute, hour, day boundaries
!sql_history_roundoff: mhd
! in case of emergency, log to this file
!sql_recovery_logfile: /var/lib/pmacct/nfacctd_recovery_log
#!/bin/sh

### BEGIN INIT INFO
# Provides: pmacct
# Required-start: $network $syslog
# Required-stop: $network $syslog
# Default-start: 2 3 4 5
# Default-stop: 0 1 6
# Short-Description: promiscuous mode accounting daemon
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/pmacctd
NAME=pmacctd
DESC="promiscuous mode accounting daemon"
CONFDIR=/etc/pmacct

test -x $DAEMON || exit 0

# Include pmacct defaults if available
if [ -f /etc/default/pmacct ] ; then
        . /etc/default/pmacct
fi

stop () {
    #start-stop-daemon --stop --oknodo --quiet \
    #   --pidfile /var/run/$NAME.pid \
    #   --exec $DAEMON
    killall -TERM pmacctd
}

start () {
    #start-stop-daemon --start --oknodo --quiet \
    #   --pidfile /var/run/$NAME.pid \
    #   --exec $DAEMON -- -f $PMACCTD_CONF $DAEMON_OPTS
    if [ -n "$INTERFACES" ]; then
        for i in $INTERFACES; do
                ifconfig $i up
                $DAEMON -f $CONFDIR/pmacctd.$i.conf $DAEMON_OPTS
        done
    else
        $DAEMON -f $CONFDIR/pmacctd.conf $DAEMON_OPTS
    fi
}

case "$1" in
  start)
        echo -n "Starting $DESC: "
        start
        echo "$NAME."
        ;;
  stop)
        echo -n "Stopping $DESC: "
        stop
        echo "$NAME."
        ;;
  #reload)
        #
        #       If the daemon can reload its config files on the fly
        #       for example by sending it SIGHUP, do it here.
        #
        #       If the daemon responds to changes in its config file
        #       directly anyway, make this a do-nothing entry.
        #
        # echo "Reloading $DESC configuration files."
        # start-stop-daemon --stop --signal 1 --quiet --pidfile \
        #       /var/run/$NAME.pid --exec $DAEMON
  #;;
  restart|force-reload)
        #
        #       If the "reload" option is implemented, move the "force-reload"
        #       option to the "reload" entry above. If not, "force-reload" is
        #       just the same as "restart".
        #
        echo -n "Restarting $DESC: "
        stop
        sleep 1
        start
        echo "$NAME."
        ;;
  *)
        N=/etc/init.d/$NAME
        # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
        echo "Usage: $N {start|stop|restart|force-reload}" >&2
        exit 1
        ;;
esac

exit 0
! pmacctd configuration
!
!
!
daemonize: true
pidfile: /var/run/pmacctd.pid
syslog: daemon
!
! interested in in and outbound traffic
aggregate: src_host,dst_host
! on this network
pcap_filter: net 127.0.0.0/8
! on this interface
interface: lo
!
! storage methods
!plugins: pgsql
!sql_host: localhost
!sql_passwd:
! refresh the db every minute
!sql_refresh_time: 60
! reduce the size of the insert/update clause
!sql_optimize_clauses: true
! accumulate values in each row for up to an hour
!sql_history: 1h
! create new rows on the minute, hour, day boundaries
!sql_history_roundoff: mhd
! in case of emergency, log to this file
!sql_recovery_logfile: /var/lib/pmacct/pmacctd_recovery_log
# Defaults for sfacct initscript
# sourced by /etc/init.d/sfacct
# installed at /etc/default/sfacct by the maintainer scripts

#
# This is a POSIX shell fragment
#

# Location of the configuration file
SFACCTD_CONF=/etc/pmacct/sfacctd.conf

# List of interfaces to start accounting on.
# See /usr/share/doc/pmacct/README.Debian for details.
INTERFACES=""

# Additional options that are passed to sfacctd
DAEMON_OPTS=""
#!/bin/sh

### BEGIN INIT INFO
# Provides: sfacct
# Required-start: $network $syslog
# Required-stop: $network $syslog
# Default-start: 2 3 4 5
# Default-stop: 0 1 6
# Short-Description: sflow accounting daemon
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/sfacctd
NAME=sfacctd
DESC="sflow accounting daemon"
CONFDIR=/etc/pmacct

test -x $DAEMON || exit 0

# Include sfacct defaults if available
if [ -f /etc/default/sfacct ] ; then
        . /etc/default/sfacct
fi

stop () {
    #start-stop-daemon --stop --oknodo --quiet \
    #   --pidfile /var/run/$NAME.pid \
    #   --exec $DAEMON
    killall -TERM sfacctd
}

start () {
    #start-stop-daemon --start --oknodo --quiet \
    #   --pidfile /var/run/$NAME.pid \
    #   --exec $DAEMON -- -f $PMACCTD_CONF $DAEMON_OPTS
    if [ -n "$INTERFACES" ]; then
        for i in $INTERFACES; do
                ip link set $i up
                $DAEMON -f $CONFDIR/sfacctd.$i.conf $DAEMON_OPTS
        done
    else
        $DAEMON -f $CONFDIR/sfacctd.conf $DAEMON_OPTS
    fi
}

case "$1" in
  start)
        echo -n "Starting $DESC: "
        start
        echo "$NAME."
        ;;
  stop)
        echo -n "Stopping $DESC: "
        stop
        echo "$NAME."
        ;;
  #reload)
        #
        #       If the daemon can reload its config files on the fly
        #       for example by sending it SIGHUP, do it here.
        #
        #       If the daemon responds to changes in its config file
        #       directly anyway, make this a do-nothing entry.
        #
        # echo "Reloading $DESC configuration files."
        # start-stop-daemon --stop --signal 1 --quiet --pidfile \
        #       /var/run/$NAME.pid --exec $DAEMON
  #;;
  restart|force-reload)
        #
        #       If the "reload" option is implemented, move the "force-reload"
        #       option to the "reload" entry above. If not, "force-reload" is
        #       just the same as "restart".
        #
        echo -n "Restarting $DESC: "
        stop
        sleep 1
        start
        echo "$NAME."
        ;;
  *)
        N=/etc/init.d/$NAME
        # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
        echo "Usage: $N {start|stop|restart|force-reload}" >&2
        exit 1
        ;;
esac

exit 0
! sfacctd configuration
!
!
!
daemonize: true
pidfile: /var/run/sfacctd.pid
syslog: daemon
!
! interested in in and outbound traffic
aggregate: src_host,dst_host
! on this network
pcap_filter: net 127.0.0.0/8
! on this interface
interface: lo
!
! storage methods
!plugins: pgsql
!sql_host: localhost
!sql_passwd:
! refresh the db every minute
!sql_refresh_time: 60
! reduce the size of the insert/update clause
!sql_optimize_clauses: true
! accumulate values in each row for up to an hour
!sql_history: 1h
! create new rows on the minute, hour, day boundaries
!sql_history_roundoff: mhd
! in case of emergency, log to this file
!sql_recovery_logfile: /var/lib/pmacct/sfacctd_recovery_log

Reply via email to