[CentOS-de] Bash-Frage

Matthias Wimmer mwimmer at it-box.de
Sa Jan 28 10:38:06 EST 2012


Hallo Wolfgang,
gib Dir den Output mal in eine Datei aus.

z.B. "/usr/local/sbin/temperatur >> /tmp/temperatur.log"

Event. liegt es am tty, finde aber das Commando grad nicht.

Viele Grüße,

Matthias




On 01/28/2012 04:14 PM, Wolfgang wrote:
> 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
>