1 #!/bin/bash
2 #
3 # collectd Startup script for the Collectd statistics gathering daemon
4 # chkconfig: - 99 01
5 # description: Collectd is a statistics gathering daemon used to collect \
6 # system information ie. cpu, memory, disk, network
7 # processname: collectd
8 # config: /etc/collectd.conf
9 # config: /etc/sysconfig/collectd
10 # pidfile: /var/run/collectd.pid
12 # Source function library.
13 . /etc/init.d/functions
15 RETVAL=0
16 ARGS=""
17 prog="collectdmon"
18 service="collectd"
19 CONFIG=/etc/collectd.conf
20 COLLECTD=/usr/sbin/collectd
21 COLLECTDMONPIDDIR="/var/run"
22 COLLECTDMONPID="$COLLECTDMONPIDDIR/collectdmon.pid"
24 if [ -r /etc/sysconfig/$service ]; then
25 . /etc/sysconfig/$service
26 fi
28 if [[ ! -d $COLLECTDMONPIDDIR ]]; then
29 mkdir -p $COLLECTDMONPIDDIR
30 [ -n "${RUNAS}" ] && chown "${RUNAS}:" "$COLLECTDMONPIDDIR"
31 fi
33 check_config() {
34 if test ! -r "$CONFIG"; then
35 return 2
36 fi
37 if ! $COLLECTD -t -C "$CONFIG"; then
38 return 1
39 fi
40 return 0
41 }
44 start () {
45 echo -n $"Starting collectd: "
46 check_config
47 rc="$?"
48 if test "$rc" -ne 0; then
49 RETVAL=6
50 echo $"not starting due to configuration error"
51 failure $"not starting $service due to configuration error"
52 else
53 daemon --user "${RUNAS:-root}" $prog -P $COLLECTDMONPID -c $COLLECTD -- -C "$CONFIG" $ARGS
54 RETVAL=$?
55 echo
56 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$service
57 fi
58 }
59 stop () {
60 echo -n $"Stopping collectd: "
61 killproc -p $COLLECTDMONPID $prog
62 RETVAL=$?
63 echo
64 [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$service
65 }
66 # See how we were called.
67 case "$1" in
68 start)
69 start
70 ;;
71 stop)
72 stop
73 ;;
74 status)
75 status -p $COLLECTDMONPID $prog
76 ;;
77 restart|reload)
78 check_config
79 rc="$?"
80 if test "$rc" -ne 0; then
81 RETVAL=6
82 echo $"not restarting due to configuration error"
83 failure $"not restarting $service due to configuration error"
84 else
85 stop
86 start
87 fi
88 ;;
89 condrestart)
90 [ -f /var/lock/subsys/$service ] && restart || :
91 ;;
92 *)
93 echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}"
94 exit 1
95 esac
97 exit $?
99 # vim:syntax=sh