per Script einen Wert aus einer Ausgabe ausfiltern-

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Jogibär
Beiträge: 149
Registriert: 11.09.2002 22:43:37

per Script einen Wert aus einer Ausgabe ausfiltern-

Beitrag von Jogibär » 30.07.2005 01:14:25

Hallo,

ich will bei meinem Server einen Cron Job einrichten, der bei Überschreitung einer bestimmten Festplattentemperatur mir eine Email schickt.
Smartd verschickt anscheinend nur eine, wenn schon der Grenzwert erreicht ist.
Ich möchte aber nach Möglichkeit zu hohe Temperaturen vermeiden und gegebenfalls Maßnahmen ergreifen.

Die Temperatur gibt mir smartdctl aus, hddtemp kennt meine Festplatte
nicht.

Ich bin schon soweit, daß ich die Zeile herausfiltere:

->smartctl -A /dev/hda | grep 194

Ich bekomme dann folgende Ausgabe:

->194 Temperature_Celsius 0x0022 105 097 000 Old_age Always - 45


Wie kann ich jetzt am besten nur den letzten Zahlenwert erkennen, den mit einem anderen vergleichen, und wenn er größer ist, eine Aktion ausführen ?

ich wäre sehr dankbar, wenn mir jemand ausführlich erklären könnte,wie ich das am besten bewerkstellige.

Jogibär

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 30.07.2005 01:49:28

bei mir ist da am Ende der Zeile:

Code: Alles auswählen

194 Temperature_Celsius     0x0002   141   141   000    Old_age   Always       -       39 (Lifetime Min/Max 12/51)
.. ist das bei dir nicht?
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Benutzeravatar
Jogibär
Beiträge: 149
Registriert: 11.09.2002 22:43:37

Beitrag von Jogibär » 30.07.2005 12:48:56

Hallo,

nein.
Die Zahl 45 ist die letzte Ausgabe in der Zeile.
Wenn er bei Dir mehr anzeigt, dann liegt es an smartctl.
Die Smart Funktionen sind nicht standardisiert, Je nach HDD Hersteller
bekommt man andere Anzeigen.
Haupsächlich Temperatur und Gesamtbetriebszeit.

Jogibär

Benutzeravatar
TCA
Beiträge: 1465
Registriert: 14.05.2004 23:42:30
Wohnort: Göttingen

Beitrag von TCA » 30.07.2005 13:08:54

Code: Alles auswählen

smartctl -A /dev/hda | grep 194 | cut -d - -f2 | cut -b 2-
Damit sollte sich der Wert ausschneiden lassen.

Ne gute Anleitung für Shell-Scripte gibt es hier.

http://www.selflinux.org/selflinux/html ... erung.html
Gruss
Marc

Wer glaubt, etwas zu sein,
hat aufgehört, etwas zu werden.

debianforum.de Verhaltensregeln

Antworten