mirror of
https://github.com/lm-sensors/lm-sensors
synced 2025-10-15 14:35:54 +00:00
from me and Hans Ecke <hans@ecke.ws>. Intent is a simple package which can be customized, configured, and installed easily. git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1051 7894878c-1315-0410-8ee3-d5d059ff63e0
166 lines
3.6 KiB
Bash
Executable File
166 lines
3.6 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# tellerstats.sh 3
|
|
# generate graphs from the data
|
|
#
|
|
# Copyright 2001 The lm_sensors group
|
|
#
|
|
# 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., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
#
|
|
|
|
# generic tellerstats init BEGIN
|
|
|
|
# get config information from /etc/tellerstats.conf or whereever 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
|
|
|
|
if [ -z "$LINEWIDTH" ]
|
|
then
|
|
LINEWIDTH=5
|
|
fi
|
|
export LINEWIDTH
|
|
|
|
if [ -z "$PLOTFORMAT" ]
|
|
then
|
|
PLOTFORMAT=ps
|
|
fi
|
|
export PLOTFORMAT
|
|
|
|
if [ -z "$PLOTTERMINAL" ]
|
|
then
|
|
PLOTTERMINAL="postscript eps enhanced color \"Helvetica\" 22"
|
|
fi
|
|
export PLOTTERMINAL
|
|
|
|
if [ -n "$DEBUG" ]
|
|
then
|
|
echo "LINEWIDTH = $LINEWIDTH"
|
|
echo "PLOTFORMAT = $PLOTFORMAT"
|
|
echo "PLOTTERMINAL = $PLOTTERMINAL"
|
|
fi
|
|
|
|
# Trim files to 48 hour window
|
|
|
|
cd $DBPATH
|
|
files="`echo *`"
|
|
|
|
for this in $files
|
|
do
|
|
tail $this -n576 > ${this}.tmp
|
|
mv ${this}.tmp $this
|
|
done
|
|
|
|
###############################################
|
|
|
|
rm -rf $TEMPPATH
|
|
mkdir -p $TEMPPATH
|
|
|
|
cd $TEMPPATH
|
|
|
|
# Update primary plots
|
|
GNUPLOTSCRIPT="$TEMPPATH/gnuplotscript"
|
|
cat $GNUPLOTSCRIPT_TMPL | perl -p -e's/\$(\w+)/$ENV{$1}/g' > $GNUPLOTSCRIPT
|
|
gnuplot < $GNUPLOTSCRIPT
|
|
rm $GNUPLOTSCRIPT
|
|
|
|
files="`echo *`"
|
|
|
|
CONVERT_OPTS_A="-interlace none -scale 320x240 -quality 100"
|
|
CONVERT_OPTS_B="-interlace none -scale 800x600 -quality 100"
|
|
|
|
for this in $files
|
|
do
|
|
prefix=`echo $this|perl -p -e's/\.\w+$//'`
|
|
convert $CONVERT_OPTS_A $TEMPPATH/$this $HTMLPATH/${prefix}.png
|
|
convert $CONVERT_OPTS_B $TEMPPATH/$this $HTMLPATH/${prefix}B.png
|
|
touch $HTMLPATH/${prefix}.png $HTMLPATH/${prefix}B.png
|
|
done
|
|
|
|
# Update timestamp
|
|
|
|
touch $HTMLPATH/index.shtml
|
|
|
|
# if this was called as a cgi script, it should redirect to the index.shtml file
|
|
if [ -n "$REMOTE_HOST" ]
|
|
then
|
|
REL_HTML=${HTMLPATH#$HTMLROOT}
|
|
echo "Location: $REL_HTML/index.shtml"
|
|
echo
|
|
fi
|
|
|
|
if [ -z "$DEBUG" ]
|
|
then
|
|
rm -rf $TEMPPATH
|
|
fi
|
|
|
|
exit 0
|