X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=debian%2Fcollectd.init.d;h=0503ec944a8bdc82381f60ca016403f91ed08898;hb=dddd6ea238e939ed7e495e03416738eaf1522604;hp=c9d950ffc866bedc6ed3f4cad79044775ca88037;hpb=98f5987a9f11976a08d0efd648256fdfa2f0640d;p=collectd.git diff --git a/debian/collectd.init.d b/debian/collectd.init.d index c9d950ff..0503ec94 100755 --- a/debian/collectd.init.d +++ b/debian/collectd.init.d @@ -1,9 +1,8 @@ -#!/bin/sh +#!/bin/bash # # collectd Initscript for collectd # http://verplant.org/collectd/ -# Author: Florian Forster -# Extended to support multiple running instances of collectd: +# Authors: Florian Forster # Sebastian Harl # @@ -32,31 +31,41 @@ fi # Function that starts the daemon/service. # d_start() { - i=1 + i=0 - if [[ ! -d "$CONFIGDIR" && -e "$FALLBACKCONF" ]] + if [ ! -d "$CONFIGDIR" -a -e "$FALLBACKCONF" ] then start-stop-daemon --start --quiet --exec $DAEMON \ -- -C "$FALLBACKCONF" else - echo -n " (" - for CONFIG in `cd $CONFIGDIR; ls *.conf 2> /dev/null`; do - CONF="$CONFIGDIR/$CONFIG" - NAME=${CONFIG%%.conf} - PIDFILE=$( grep PIDFile $CONF | awk '{print $2}' ) + for FILE in `ls $CONFIGDIR/*.conf 2>/dev/null` + do + NAME=`basename "$FILE" .conf` - if [ 1 != $i ]; then - echo -n " " + 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 - start-stop-daemon --start --quiet \ - --pidfile $PIDFILE --startas $DAEMON \ - -- -C "$CONFIGDIR/$CONFIG" - echo -n "$NAME" - - let i++ + i=$(($i+1)) done - echo -n ")" + + if [ $i == 0 ] + then + echo -n "[no config found]"; + else + echo -n ")" + fi fi }