[CentOS-de] Bash-Frage

Wolfgang centos at arcor.de
Sa Jan 28 10:14:37 EST 2012


Hallo CentOS-Freunde,


mein Problem hat bestimmt nichts mit CentOS zutun, aber Fragen kann
man ja, oder?


Nachstehend ist eine sehr einfache bash, die bei manueller Ausführung
wunderbar funktioniert, aber im cronjob werden nur die Temperaturen
der Festplatten angezeigt.


[root@ ~]# crontab -l
*/5 * * * * /usr/local/sbin/temperatur
oder
*/5 * * * * root /usr/local/sbin/temperatur

zeigen das gleiche Ergebnis.






#!/bin/bash

# Sinn dieser Bash:
# einfacher Temp-Überblick

# 2.6.18-274.12.1.el5 #1 SMP Tue Nov 29 13:37:46 EST 2011 x86_64 x86_64
x86_64 GNU/Linux
# sensors
# k10temp-pci-00c3
# Adapter: PCI adapter
# temp1:       +38°C

DB_Name=/var/www/html/Ralf/rrd/`basename "$0" .sh`.rrd
Grafik=/var/www/html/Ralf/rrd/`basename "$0" .sh`.png

if [ ! -f $DB_Name ]; then
/usr/bin/rrdtool create $DB_Name --step 300 \
DS:TEMP_CPU:GAUGE:600:U:U \
DS:TEMP_SDA:GAUGE:600:U:U \
DS:TEMP_SDD:GAUGE:600:U:U \
RRA:AVERAGE:0.5:1:2160 \
RRA:AVERAGE:0.5:5:2016 \
RRA:AVERAGE:0.5:15:2880 \
RRA:AVERAGE:0.5:60:8760
fi





# Um diese Zeile dreht sich mein Problem:
TEMP_CPU=$(sensors | tail -n2 | cut -d'+' -f2 | \
cut -d'C' -f1 | cut -d'°' -f1)





TEMP_SDA=$(hddtemp -n /dev/sdc)
TEMP_SDD=$(hddtemp -n /dev/sdd)

/usr/bin/rrdtool update $DB_Name N:$TEMP_CPU:$TEMP_SDA:$TEMP_SDD

nice -n 19 rrdtool graph $Grafik \
-a PNG \
-t "Temperatur in °C  $HOSTNAME" \
-v "`date +%d.%m.%Y-%H:%M`" \
--zoom 2 \
DEF:TEMP_CPU=$DB_Name:TEMP_CPU:AVERAGE \
DEF:TEMP_SDA=$DB_Name:TEMP_SDA:AVERAGE \
DEF:TEMP_SDD=$DB_Name:TEMP_SDD:AVERAGE \
LINE1:TEMP_CPU#FF0000:"CPU = $TEMP_CPU" \
LINE1:TEMP_SDA#00FF00:"SDC = $TEMP_SDA" \
LINE1:TEMP_SDD#0000FF:"SDD = $TEMP_SDD" \
> /dev/null