Code

549e919a4b9d59f742321de3f5b8a0cec5b574af
[pkg-collectd.git] / debian / collectd.init.d
1 #!/bin/bash
2 #
3 # collectd      Initscript for collectd
4 #               http://collectd.org/
5 # Authors:      Florian Forster <octo@verplant.org>
6 #               Sebastian Harl <sh@tokkee.org>
7 #
9 ### BEGIN INIT INFO
10 # Provides:          collectd
11 # Required-Start:    $local_fs $remote_fs
12 # Should-Start:      $network $named $syslog $time
13 # Default-Start:     2 3 4 5
14 # Default-Stop:      0 1 6
15 # Short-Description: start the statistics collection daemon
16 ### END INIT INFO
18 set -e
20 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
21 DESC="Statistics collection daemon"
22 NAME=collectd
23 DAEMON=/usr/sbin/$NAME
24 SCRIPTNAME=/etc/init.d/$NAME
25 ARGS=""
27 CONFIGDIR=/etc/collectd
28 # for backward compatibility
29 FALLBACKCONF=/etc/collectd.conf
31 # Gracefully exit if the package has been removed.
32 test -x $DAEMON || exit 0
34 if [ -r /etc/default/$NAME ]
35 then
36         . /etc/default/$NAME
37 fi
39 #
40 #       Function that starts the daemon/service.
41 #
42 d_start() {
43         i=0
44         
45         if [ ! -d "$CONFIGDIR" ]
46         then
47                 if [ -e "$FALLBACKCONF" ]
48                 then
49                         $DAEMON -C "$FALLBACKCONF" 2> /dev/null
50                 else
51                         echo ""
52                         echo "This package is not configured yet. Please refer"
53                         echo "to /usr/share/doc/collectd/README.Debian for"
54                         echo "details."
55                         echo ""
56                         exit 0
57                 fi
58         else
59                 for FILE in `ls $CONFIGDIR/*.conf 2>/dev/null`
60                 do
61                         NAME=`basename "$FILE" .conf`
63                         if [ $i == 0 ]
64                         then
65                                 echo -n " ("
66                         else
67                                 echo -n ", "
68                         fi
69                         
70                         $DAEMON -C "$FILE" 2> /dev/null
71                         if [ $? == 0 ]
72                         then
73                                 echo -n "$NAME"
74                         else
75                                 echo -n "$NAME failed"
76                         fi
78                         i=$(($i+1))
79                 done
81                 if [ $i == 0 ]
82                 then
83                         echo -n "[no config found]"
84                         exit 1
85                 else
86                         echo -n ")"
87                 fi
88         fi
89 }
91 #
92 #       Function that stops the daemon/service.
93 #
94 d_stop() {
95         start-stop-daemon --stop --quiet --oknodo --exec $DAEMON
96 }
98 case "$1" in
99   start)
100         echo -n "Starting $DESC: $NAME"
101         d_start
102         echo "."
103         ;;
104   stop)
105         echo -n "Stopping $DESC: $NAME"
106         d_stop
107         echo "."
108         ;;
109   restart|force-reload)
110         echo -n "Restarting $DESC: $NAME"
111         d_stop
112         sleep 1
113         d_start
114         echo "."
115         ;;
116   *)
117         echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
118         exit 1
119         ;;
120 esac
122 exit 0
124 # vim: syntax=sh noexpandtab sw=8 ts=8 :