friesco
Goto Top

Shell Scripten unter Debian

Hallo liebe Gemeinde,

Ich hab da ein Problem mit einem Script da ich mich nicht so gut mit Scripten auskenne.
Also folgendes:
Ich frage via snmp bei einer USV die Batteriespannung ab mit folgendem Befehl
/usr/lib/nagios/plugins/check_snmp -H 192.168.0.101 -o .1.3.6.1.2.1.33.1.2.5 | awk '{print$4}'
Leider gibt er mir den Befehl nicht mit einer Kommastelle aus. Also die Batteriespannung beträgt 55,0 Volt aber ich bekomme den Wert 550 ausgegeben. Nun hatte ich die Idee das ganze in einem Script laufen zu lassen und der mir den Wert abfängt und ich einfach durch 10 teilt.
z.B. mit expr $WERT / 10. aber ich bekomme immer einen Syntaxfehler angezeigt da die Variable wohl leer ist nehme ich an.
Wie bekomme ich den Wert in eine Variable rein???

schonmal vielen dank für eure Hilfe !!!

Gruß
Friesco

Content-Key: 124706

Url: https://administrator.de/contentid/124706

Printed on: April 16, 2024 at 07:04 o'clock

Member: CadelPigott
CadelPigott Sep 11, 2009 at 10:30:31 (UTC)
Goto Top
Hallo Friesco,

hast du mit dem befehl 'snmpwalk' mal geguckt ob es einen MIB gibt der dir den Wert mit Kommastelle zurück gibt?

Ich checke AMP USV´s auf die selbe Weise mit Nagios.
Allerdings würde es sowohl mit als auch ohne Kommastelle funktionieren. Ich überprüfe lediglich ob die Batteriespannung größer oder kleiner als der Schwellenwert ist.

Gruß
Cadel
Member: Friesco
Friesco Sep 11, 2009 at 10:40:23 (UTC)
Goto Top
ja aber die Riello teile geben dies leider nicht aus.

Ich hab aber das Problem gelöst.... Hier mein mini Script^^

WERT=`/usr/lib/nagios/plugins/check_snmp -H 192.168.0.101 -o .1.3.6.1.2.1.33.1.2.5 | awk '{print$4}'`
SPANNUNG=`expr $WERT / 10`

echo Die Spannung betraegt $SPANNUNG Volt.

Aber dann teilt er zwar durch 10, schneidet aber den rest ab....
MIt

WERT=`/usr/lib/nagios/plugins/check_snmp -H 192.168.0.101 -o .1.3.6.1.2.1.33.1.2.5 | awk '{print$4}'`
SPANNUNG=`echo "scale=2; $WERT / 10" | bc`

echo Die Spannung betraegt $SPANNUNG Volt.
Zeigt er mir dann die Zahl mit 2 Kommastellen an.

Trozdem danke für deine Hilfe...

Gruß
Friesco


Edit:
Das einzige was ich falsch gemacht hatte die ganze Zeit sind die Backticks die ich vergessen habe.
Und das ich hinter der Variablen (z.B. WERT) ein leerzeichen hatte ( WERT=_)