]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - src/initscripts/init.d/collectd
Changed checkfs to auto reboot after correctable fsck fixes.
[people/pmueller/ipfire-2.x.git] / src / initscripts / init.d / collectd
1 #!/bin/sh
2 # Begin $rc_base/init.d/collecd
3
4
5 . /etc/sysconfig/rc
6 . $rc_functions
7
8 eval $(/usr/local/bin/readhash /var/ipfire/main/settings)
9
10 if [ "$RRDLOG" = '' ]; then
11 RRDLOG=/var/log/rrd
12 fi
13
14 case "$1" in
15 start)
16 # If run from init and collectd alrady started then exit silent
17 if [ "$(basename $0)" != "collectd" ]; then
18 if [ "$(ps -A | grep " collectd$")" != "" ]; then
19 exit 0
20 fi
21 fi
22
23 # At first run search for sensors with sensors-detect
24 if [ ! -e /etc/sysconfig/lm_sensors ]; then
25 boot_mesg "Searching for Sensors..."
26
27 # pre scan and try to load modules
28 "yes" | /usr/sbin/sensors-detect > /dev/null
29 if [ -e /etc/sysconfig/lm_sensors ]; then
30 # Module load
31 for modul in `cat /etc/sysconfig/lm_sensors | grep '^MODULE_' | cut -d"=" -s -f2`; do
32 modprobe $modul > /dev/null 2>&1;
33 done
34 fi
35
36 # Final scan
37 "yes" | /usr/sbin/sensors-detect > /dev/null
38 evaluate_retval
39
40 if [ ! -e /etc/sysconfig/lm_sensors ]; then
41 echo "#No Sensors detected " > /etc/sysconfig/lm_sensors
42 fi
43 fi
44
45 # Load sensor modules only first start
46 if [ ! -e /var/lock/sensors_modules ]; then
47 touch /var/lock/sensors_modules
48 boot_mesg -n "Loading Sensor Modules: "
49 for modul in `cat /etc/sysconfig/lm_sensors | grep '^MODULE_' | cut -d"=" -s -f2`; do
50 modprobe $modul > /dev/null 2>&1;
51 if [ ${?} = 0 ]; then
52 boot_mesg -n "$SUCCESS$modul$NORMAL ";
53 else
54 boot_mesg -n "$WARNING$modul$NORMAL ";
55 fi
56 done
57 boot_mesg;
58 echo_ok;
59 fi
60
61 # Enable sensors plugin if sensors found
62 if [ "$( sensors 2>&1 | grep 'No sensors found!' | wc -l )" == "1" ]; then
63 sed -i -e "s|^LoadPlugin sensors|#LoadPlugin sensors|g" /etc/collectd.conf
64 else
65 sed -i -e "s|^#LoadPlugin sensors|LoadPlugin sensors|g" /etc/collectd.conf
66 fi
67
68 # Enable thermal plugin if thermal_zone found
69 if [ ! -e /sys/class/thermal/thermal_zone0 ]; then
70 sed -i -e 's|^include "/etc/collectd.thermal"$|#include "/etc/collectd.thermal"|g' /etc/collectd.conf
71 else
72 sed -i -e 's|^#include "/etc/collectd.thermal"$|include "/etc/collectd.thermal"|g' /etc/collectd.conf
73 fi
74
75 # Enable swap plugin if swap found
76 if [ "$(swapon -s | wc -l)" == "1" ]; then
77 sed -i -e "s|^LoadPlugin swap|#LoadPlugin swap|g" /etc/collectd.conf
78 else
79 sed -i -e "s|^#LoadPlugin swap|LoadPlugin swap|g" /etc/collectd.conf
80 fi
81
82 boot_mesg "Starting Collection daemon..."
83 /usr/sbin/collectd -C /etc/collectd.conf
84 evaluate_retval
85 ;;
86 stop)
87 boot_mesg "Stopping Collection daemon..."
88 killproc /usr/sbin/collectd
89 evaluate_retval
90 # Save the ramdisk at manual stop but not at shutdown
91 if [ "$(basename $0)" == "collectd" ]; then
92 /etc/init.d/tmpfs backup
93 fi
94 ;;
95 restart)
96 ${0} stop
97 sleep 1
98 ${0} start
99 ;;
100 status)
101 statusproc /usr/sbin/collectd
102 ;;
103
104 *)
105 echo "Usage: $0 {start|stop|restart|status}"
106 exit 1
107 ;;
108 esac
109
110 # End $rc_base/init.d/collectd