-#!/bin/sh
+#!/bin/bash
#
# collectd Initscript for collectd
-# http://verplant.org/collectd/
-# Author: Florian Forster <octo@verplant.org>
+# http://collectd.org/
+# Authors: Florian Forster <octo@verplant.org>
+# Sebastian Harl <sh@tokkee.org>
#
set -e
SCRIPTNAME=/etc/init.d/$NAME
ARGS=""
+CONFIGDIR=/etc/collectd
+# for backward compatibility
+FALLBACKCONF=/etc/collectd.conf
+
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0
. /etc/default/$NAME
fi
-if [ -n "$DATA_DIR" ]; then
- ARGS="-D $DATA_DIR"
-fi
-
-if [ -n "$PING_HOST" ]; then
- for HOST in $PING_HOST
- do
- ARGS="$ARGS -p $HOST"
- done
-fi
-
#
# Function that starts the daemon/service.
#
d_start() {
- if [ "x$START_SERVER" = "xyes" ]
- then
- $DAEMON -s $ARGS
- fi
- if [ "x$START_CLIENT" = "xyes" ]
- then
- $DAEMON -c $ARGS
- fi
- if [ "x$START_SERVER" != "xyes" -a "x$START_CLIENT" != "xyes" ]
+ i=0
+
+ if [ ! -d "$CONFIGDIR" ]
then
- start-stop-daemon --start --quiet --exec $DAEMON -- -l $ARGS
+ if [ -e "$FALLBACKCONF" ]
+ then
+ $DAEMON -C "$FALLBACKCONF" 2> /dev/null
+ else
+ echo ""
+ echo "This package is not configured yet. Please refer"
+ echo "to /usr/share/doc/collectd/README.Debian for"
+ echo "details."
+ echo ""
+ exit 0
+ fi
+ else
+ for FILE in `ls $CONFIGDIR/*.conf 2>/dev/null`
+ do
+ NAME=`basename "$FILE" .conf`
+
+ if [ $i == 0 ]
+ then
+ echo -n " ("
+ else
+ echo -n ", "
+ fi
+
+ $DAEMON -C "$FILE" 2> /dev/null
+ if [ $? == 0 ]
+ then
+ echo -n "$NAME"
+ else
+ echo -n "$NAME failed"
+ fi
+
+ i=$(($i+1))
+ done
+
+ if [ $i == 0 ]
+ then
+ echo -n "[no config found]"
+ exit 1
+ else
+ echo -n ")"
+ fi
fi
}
# Function that stops the daemon/service.
#
d_stop() {
- start-stop-daemon --stop --quiet --exec $DAEMON
+ start-stop-daemon --stop --quiet --oknodo --exec $DAEMON
}
case "$1" in
exit 0
-# vim:syntax=sh
+# vim: syntax=sh noexpandtab sw=8 ts=8 :