]>
Commit | Line | Data |
---|---|---|
a332b303 CS |
1 | #!/bin/sh |
2 | # Begin $rc_base/init.d/collecd | |
3 | ||
4 | ||
5 | . /etc/sysconfig/rc | |
6 | . $rc_functions | |
7 | ||
1c163c04 CS |
8 | eval $(/usr/local/bin/readhash /var/ipfire/main/settings) |
9 | ||
f6b79dd2 CS |
10 | if [ "$RRDLOG" = '' ]; then |
11 | RRDLOG=/var/log/rrd | |
12 | fi | |
13 | ||
a332b303 CS |
14 | case "$1" in |
15 | start) | |
a68a74cb | 16 | # At first run search for sensors with sensors-detect |
a3f2742f | 17 | if [ ! -e /etc/sysconfig/lm_sensors ]; then |
1c163c04 | 18 | boot_mesg "Searching for Sensors..." |
5b55f2f8 AF |
19 | |
20 | # First scan | |
21 | "yes" | /usr/sbin/sensors-detect > /dev/null | |
22 | ||
23 | # Module load | |
24 | for modul in `cat /etc/sysconfig/lm_sensors | grep '^MODULE_' | cut -d"=" -s -f2`; do | |
25 | modprobe $modul > /dev/null 2>&1; | |
26 | done | |
27 | ||
28 | # Second scan | |
1c163c04 CS |
29 | "yes" | /usr/sbin/sensors-detect > /dev/null |
30 | evaluate_retval | |
31 | ||
32 | if [ ! -e /etc/sysconfig/lm_sensors ]; then | |
33 | echo "#No Sensors detected " > /etc/sysconfig/lm_sensors | |
1c163c04 | 34 | fi |
a3f2742f AF |
35 | fi |
36 | ||
37 | boot_mesg -n "Loading Sensor Modules..." | |
438bdd5b | 38 | for modul in `cat /etc/sysconfig/lm_sensors | grep '^MODULE_' | cut -d"=" -s -f2`; do |
1c163c04 CS |
39 | modprobe $modul > /dev/null 2>&1; |
40 | if [ ${?} = 0 ]; then | |
41 | boot_mesg -n "$SUCCESS$modul$NORMAL "; | |
42 | else | |
43 | boot_mesg -n "$FAILURE$modul$NORMAL "; | |
44 | fi | |
a3f2742f AF |
45 | done |
46 | boot_mesg; | |
47 | echo_ok; | |
48 | ||
a68a74cb AF |
49 | # Enable sensors plugin if sensors found |
50 | if [ $( sensors 2>&1 | grep "No sensors found!" | wc -l ) == "1" ]; then | |
51 | sed -i -e "s|^LoadPlugin sensors|#LoadPlugin sensors|g" /etc/collectd.conf | |
52 | else | |
53 | sed -i -e "s|^#LoadPlugin sensors|LoadPlugin sensors|g" /etc/collectd.conf | |
54 | fi | |
55 | ||
56 | # Enable thermal plugin if thermal_zone found | |
57 | if [ ! -e /sys/class/thermal/thermal_zone0 ]; then | |
58 | sed -i -e "s|^LoadPlugin thermal|#LoadPlugin thermal|g" /etc/collectd.conf | |
59 | else | |
60 | sed -i -e "s|^#LoadPlugin thermal|LoadPlugin thermal|g" /etc/collectd.conf | |
61 | fi | |
62 | ||
63 | # Enable swap plugin if swap found | |
64 | if [ "$(swapon -s | wc -l)" == "1" ]; then | |
65 | sed -i -e "s|^LoadPlugin swap|#LoadPlugin swap|g" /etc/collectd.conf | |
66 | else | |
67 | sed -i -e "s|^#LoadPlugin swap|LoadPlugin swap|g" /etc/collectd.conf | |
68 | fi | |
69 | ||
a332b303 CS |
70 | boot_mesg "Starting Collection daemon..." |
71 | /usr/sbin/collectd -C /etc/collectd.conf | |
72 | evaluate_retval | |
a332b303 | 73 | ;; |
a332b303 | 74 | stop) |
d34d9f3b AF |
75 | # Save the ramdisk at manual stop but not at shutdown |
76 | if [ "$(basename $0)" == "collectd" ]; then | |
1bc535b6 | 77 | /etc/init.d/tmpfs backup |
d34d9f3b | 78 | fi |
a332b303 CS |
79 | boot_mesg "Stopping Collection daemon..." |
80 | killproc /usr/sbin/collectd | |
81 | evaluate_retval | |
82 | ;; | |
a332b303 | 83 | restart) |
1c163c04 | 84 | ${0} stop |
a332b303 | 85 | sleep 1 |
1c163c04 CS |
86 | ${0} start |
87 | ;; | |
a332b303 CS |
88 | status) |
89 | statusproc /usr/sbin/collectd | |
90 | ;; | |
91 | ||
92 | *) | |
93 | echo "Usage: $0 {start|stop|restart|status}" | |
94 | exit 1 | |
95 | ;; | |
96 | esac | |
97 | ||
98 | # End $rc_base/init.d/collectd |