#!/bin/bash
#
# gather.sh
# gather the data.
# run from cron every 5 minutes.
# Don't run manually as root or else files in data/ will get
# root ownership then your (non-root) cron daemon won't work
#
# Copyright (C) 2001 Philip Edelbrock
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301 USA.
#
# generic tellerstats init BEGIN
# get config information from /etc/tellerstats.conf or wherever we are pointed
if [ -z "$TELLERSTATS_CONF" ]
then
TELLERSTATS_CONF=/etc/tellerstats.conf
fi
export TELLERSTATS_CONF
if [ ! -r $TELLERSTATS_CONF ]
then
echo "$0: Could not find config file $TELLERSTATS_CONF"
exit 1
fi
. $TELLERSTATS_CONF
if [ ! -d $DBPATH ]
then
echo "$0: data directory $DBPATH does not exist"
exit 1
fi
if [ ! -d $SENSORPATH ]
then
echo "$0: sensor information directory $SENSORPATH does not exist."
exit 1
fi
if [ ! -d $HTMLROOT ]
then
echo "$0: The root of your webserver - $HTMLROOT - does not exist..bailing out"
exit 1
fi
if [ ! -d $HTMLPATH ]
then
echo "$0: The place where we keep HTML files and pictures - $HTMLPATH - does not exist..bailing out"
exit 1
fi
if [ ! -r $GNUPLOTSCRIPT_TMPL ]
then
echo "$0: The gnuplot script template $GNUPLOTSCRIPT_TMPL does not exist..bailing out"
exit 1
fi
export DBPATH SENSORPATH TEMPPATH HTMLROOT HTMLPATH GNUPLOTSCRIPT_TMPL
if [ -n "$DEBUG" ]
then
echo "DBPATH = $DBPATH"
echo "SENSORPATH = $SENSORPATH"
echo "TEMPPATH = $TEMPPATH"
echo "HTMLROOT = $HTMLROOT"
echo "HTMLPATH = $HTMLPATH"
echo "GNUPLOTSCRIPT_TMPL = $GNUPLOTSCRIPT_TMPL"
fi
# generic tellerstats init END
# From /etc/sensors.conf for the W83781D:
#
# compute in3 ((6.8/10)+1)*@ , @/((6.8/10)+1)
# compute in4 ((28/10)+1)*@ , @/((28/10)+1)
# compute in5 -(210/60.4)*@ , -@/(210/60.4)
# compute in6 -(90.9/60.4)*@ , -@/(90.9/60.4)
#
#date=yyyyMMddHHmmss, the same format gnuplot expects for the x-axis
DATE=`date +%Y%m%d%H%M%S`
T=`cat $SENSORPATH/in0 | perl -p -e 's/^.+ ([^ ]+)$/$1/'`
echo $DATE $T >> $DBPATH/cpu1V
T=`cat $SENSORPATH/in1 | perl -p -e 's/^.+ ([^ ]+)$/$1/'`
echo $DATE $T >> $DBPATH/cpu2V
T=`cat $SENSORPATH/in2 | perl -p -e 's/^.+ ([^ ]+)$/$1/'`
echo $DATE $T >> $DBPATH/ThreeVOLT
T=`cat $SENSORPATH/in3 | perl -p -e 's/^.+ ([^ ]+)$/$1/'`
T=`echo $T \* 1.68 | bc`
echo $DATE $T >> $DBPATH/FiveVOLT
T=`cat $SENSORPATH/in4 | perl -p -e 's/^.+ ([^ ]+)$/$1/'`
T=`echo $T \* 3.8 | bc`
echo $DATE $T >> $DBPATH/TwelveVOLT
T=`cat $SENSORPATH/in5 | perl -p -e 's/^.+ ([^ ]+)$/$1/'`
T=`echo $T \* -3.477 | bc`
echo $DATE $T >> $DBPATH/NegTwelveVOLT
T=`cat $SENSORPATH/in6 | perl -p -e 's/^.+ ([^ ]+)$/$1/'`
T=`echo $T \* -1.505 | bc`
echo $DATE $T >> $DBPATH/NegFiveVOLT
T=`cat $SENSORPATH/temp1 | perl -p -e 's/^.+ ([^ ]+)$/$1/'`
echo $DATE $T >> $DBPATH/mb_temp
T=`cat $SENSORPATH/temp2 | perl -p -e 's/^.+ ([^ ]+)$/$1/'`
echo $DATE $T >> $DBPATH/cpu_temp
T=`cat $SENSORPATH/fan1 | perl -p -e 's/^.+ ([^ ]+)$/$1/'`
echo $DATE $T >> $DBPATH/fanone
T=`cat $SENSORPATH/fan2 | perl -p -e 's/^.+ ([^ ]+)$/$1/'`
echo $DATE $T >> $DBPATH/fantwo
T=`cat $SENSORPATH/fan3 | perl -p -e 's/^.+ ([^ ]+)$/$1/'`
echo $DATE $T >> $DBPATH/fanthree
T=`cat /proc/loadavg | perl -p -e 's/^([^ ]+) .+$/$1/'`
echo $DATE $T >> $DBPATH/load
exit 0