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 MAXWAIT=30
26 if [ -r /etc/sysconfig/$service ]; then
27 . /etc/sysconfig/$service
28 fi
30 if [[ ! -d $COLLECTDMONPIDDIR ]]; then
31 mkdir -p $COLLECTDMONPIDDIR
32 [ -n "${RUNAS}" ] && chown "${RUNAS}:" "$COLLECTDMONPIDDIR"
33 fi
35 check_config() {
36 if test ! -r "$CONFIG"; then
37 return 2
38 fi
39 if ! $COLLECTD -t -C "$CONFIG"; then
40 return 1
41 fi
42 return 0
43 }
46 start () {
47 echo -n $"Starting collectd: "
48 check_config
49 rc="$?"
50 if test "$rc" -ne 0; then
51 RETVAL=6
52 echo $"not starting due to configuration error"
53 failure $"not starting $service due to configuration error"
54 else
55 daemon --user "${RUNAS:-root}" $prog -P $COLLECTDMONPID -c $COLLECTD -- -C "$CONFIG" $ARGS
56 RETVAL=$?
57 echo
58 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$service
59 fi
60 }
61 stop () {
62 echo -n $"Stopping collectd: "
63 killproc -p $COLLECTDMONPID -d $MAXWAIT $prog
64 RETVAL=$?
65 echo
66 [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$service
67 }
68 # See how we were called.
69 case "$1" in
70 start)
71 start
72 ;;
73 stop)
74 stop
75 ;;
76 status)
77 status -p $COLLECTDMONPID $prog
78 ;;
79 restart|reload)
80 check_config
81 rc="$?"
82 if test "$rc" -ne 0; then
83 RETVAL=6
84 echo $"not restarting due to configuration error"
85 failure $"not restarting $service due to configuration error"
86 else
87 stop
88 start
89 fi
90 ;;
91 condrestart)
92 [ -f /var/lock/subsys/$service ] && restart || :
93 ;;
94 *)
95 echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}"
96 exit 1
97 esac
99 exit $?
101 # vim:syntax=sh