549e919a4b9d59f742321de3f5b8a0cec5b574af
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
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
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 :