Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: Suche Hilfe beim Ändern eines Shell-Scripts

1 view
Skip to first unread message

Peter Bäumer

unread,
Jun 18, 2021, 11:27:32 AM6/18/21
to
Glück Auf! Stefan,

hab es nicht testen können, mangelst angeschlossener Hardware.
Debuggen darfst Du ;)

sollte jetzt die Optionen -t 0 und -a verstehen.
check_digitemp -ts C -w 22.10 -c 25.00 -f -t 0
check_digitemp -ts C -w 22.10 -c 25.00 -f -a


MfG
Peter B.

Am 18.06.2021 um 14:06 schrieb Stefan Heidrich:
> Hallo,
>
> ich suche Hilfe: Ich möchte ein Nagios-Script zum Überwachen der Temperatur anpassen.
> Augerufen wird das wie folgt:
> check_digitemp.sh -ts C -w 22.10 -c 25.00 -f
> Damit liest es alle angeschlossenen Sensoren. Ich würde aber gerne angeben, welcher Sensor gelesen wird. Dazu muss Zeile 59 geändert werden; statt "-a" für alle Sensoren hätte ich dort gerne ein "-t 0" für den Sensor 0, oder ein "-t 1" für den Sensor 1 und ich würde das gerne im Aufruf mit angeben:
> check_digitemp -ts C -w 22.10 -c 25.00 -f -t 0
>
> Hast jemand eine Idee was man dafür am Script ändern muss? Ich stelle mich da irgendwie zu blöd an...
>
> Viele Grüße
> Stefan

check_digitemp.sh

Stefan Heidrich

unread,
Jun 20, 2021, 9:22:39 AM6/20/21
to
Hallo Peter,

DANKE, Du bist mein Held - im Prinzig wenigsten. :)

Das sind die Ausgaben beim Aufruf:
root@nagios:/usr/local/nagios/libexec#
/usr/local/nagios/libexec/check_digitemp.sh -ts C -w 20 -c 25 -f -t 0
Error! You need 1 of the following action commands, -w -a -i -t
/usr/local/nagios/libexec/check_digitemp.sh: 191: [: -ge: unexpected
operator
/usr/local/nagios/libexec/check_digitemp.sh: 197: [: -ge: unexpected
operator
C - ok|'temp'=;20;25
root@nagios:/usr/local/nagios/libexec#
/usr/local/nagios/libexec/check_digitemp.sh -ts C -w 20 -c 25 -f -t 1
Error! You need 1 of the following action commands, -w -a -i -t
/usr/local/nagios/libexec/check_digitemp.sh: 191: [: -ge: unexpected
operator
/usr/local/nagios/libexec/check_digitemp.sh: 197: [: -ge: unexpected
operator
C - ok|'temp'=;20;25

Es stimmt auch nicht, das beide Sensoren die gleiche Temperatur zurück
liefern. Der eine zeigt mit 20,25°C die Serverraumtemperatur, der andere
sollte mit ca. 2°C die Temperatur des aufgestellten Kühlschranks anzeigen.

Viele Grüße
Stefan

Peter Bäumer

unread,
Jun 20, 2021, 11:18:43 AM6/20/21
to
Glück Auf! Stefan,

Der Aufruf von dem Skript
> root@nagios:/usr/local/nagios/libexec# /usr/local/nagios/libexec/check_digitemp.sh -ts C -w 20 -c 25 -f -t 0

erzeugt eine Fehlermeldung:
> Error! You need 1 of the following action commands, -w -a -i -t

Sieht so aus als ob das -t nicht bis zum digitemp Optionen ankommt :(

Der zusammengebaute Aufruf sieht so aus:
sudo /usr/bin/digitemp_DS9097 -q -f /root/digitemp.conf -o -t 0 %.2c

Mh prinzipiell ist alles da - nur nicht an der richtigen stelle :(

nach dem -o muss %.2c kommen und nicht -t 0


Ändere die Zeilen 165 und 170 so das die Optionen -t $2 und -a vor der Variabel ${DIGIPARM} stehen und nicht dahinter!

-t)
DIGIPARM=" -t $2 ${DIGIPARM}"
shift
;;

-a)
DIGIPARM=" -a ${DIGIPARM}"
;;


PS.:
> Der eine zeigt mit 20,25°C die Serverraumtemperatur,
> C - ok|'temp'=;20;25

die 20, 25 sind die -w und -c Werte - eine Temperatur wurde nicht ausgelesen, zwischen = und ; fehlt der Temperaturwert.

Stefan Heidrich

unread,
Jun 21, 2021, 5:36:59 AM6/21/21
to
Hallo Peter,

saugeil, jetzt funktioniert es so wie es soll.
Ich verstehe zwar immer noch nicht wie die Parameterübergabe
funktioniert, aber solange alles funktioniert... :)

Ganz herzlichen Dank und liebe Grüße
Stefan
0 new messages