Files
bpfire/src/initscripts/init.d/collectd
2008-09-28 18:05:00 +02:00

80 lines
1.6 KiB
Bash

#!/bin/sh
# Begin $rc_base/init.d/collecd
. /etc/sysconfig/rc
. $rc_functions
eval $(/usr/local/bin/readhash /var/ipfire/main/settings)
if [ "$RRDLOG" = '' ]; then
RRDLOG=/var/log/rrd
fi
case "$1" in
start)
if [ ! -e /etc/sysconfig/lm_sensors ]; then
boot_mesg "Searching for Sensors..."
"yes" | /usr/sbin/sensors-detect > /dev/null
evaluate_retval
if [ ! -e /etc/sysconfig/lm_sensors ]; then
echo "#No Sensors detected " > /etc/sysconfig/lm_sensors
sed -i -e "s|LoadPlugin sensors|#LoadPlugin sensors|g" /etc/collectd.conf
fi
fi
if [ ! -e $RRDLOG.bak/ ]; then
mkdir $RRDLOG.bak/
fi
/etc/init.d/collectd restore
boot_mesg -n "Loading Sensor Modules..."
for modul in `cat /etc/sysconfig/lm_sensors | grep '^MODULE_' | cut -d"=" -s -f2`; do
modprobe $modul > /dev/null 2>&1;
if [ ${?} = 0 ]; then
boot_mesg -n "$SUCCESS$modul$NORMAL ";
else
boot_mesg -n "$FAILURE$modul$NORMAL ";
fi
done
boot_mesg;
echo_ok;
boot_mesg "Starting Collection daemon..."
/usr/sbin/collectd -C /etc/collectd.conf
evaluate_retval
;;
stop)
/etc/init.d/collectd backup
boot_mesg "Stopping Collection daemon..."
killproc /usr/sbin/collectd
evaluate_retval
;;
restart)
${0} stop
sleep 1
${0} start
;;
backup)
boot_mesg "Save rrd files from ramd..."
cp -pR $RRDLOG/* $RRDLOG.bak/
evaluate_retval
;;
restore)
boot_mesg "Copying rrd files to ramd..."
cp -pR $RRDLOG.bak/* $RRDLOG/
;;
status)
statusproc /usr/sbin/collectd
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
;;
esac
# End $rc_base/init.d/collectd