Script um Dienst zu kontrollieren

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
thomas91
Beiträge: 40
Registriert: 05.04.2012 12:08:53

Script um Dienst zu kontrollieren

Beitrag von thomas91 » 19.02.2014 07:57:11

hallo Community,

ich trau mich fast garnicht das Thema zu erstellen, doch möchte ich ein Script schreiben, das kontrolliert ob mein mySQLDienst gestartet ist oder nicht und dann einen Wert zurück gibt.
Dieses Script soll von unserem Monitoring System gestartet werden und der zurückgegebene Wert soll dann kontrolliert werden. Leider hab ich mit :google: nicht wirklich das gefunden was mir helfen könnte. Irgendwie waren meine Suchbegriffe wohl nicht speziel genug :oops:

Vielen Dank für eure Kommentare.

MfG

uname
Beiträge: 12072
Registriert: 03.06.2008 09:33:02

Re: Script um Dienst zu kontrollieren

Beitrag von uname » 19.02.2014 08:27:16

Vielleicht reicht es dir einfach "/etc/init.d/mysql status" auszulesen und zu schauen ob der Rückgabewert 0 (ok) oder eben nicht ok ist.

Code: Alles auswählen

#!/bin/sh 
aus=$(/etc/init.d/mysql status)
echo $?  

$? enthält den Rückgabewert der Funktion. $aus enthält die Ausgabe selbst, die aber für deinen Zweck eigentlich nicht benötigt wird. Welche Überwachung nutzt du denn? Vielleicht gibt es ja eine entsprechende Bibliothek genau für deine Überwachung.

thomas91
Beiträge: 40
Registriert: 05.04.2012 12:08:53

Re: Script um Dienst zu kontrollieren

Beitrag von thomas91 » 19.02.2014 08:34:26

Wir nutzen PRTG der FirmaPaessler.
Das mit OK und nicht OK würde mir wirklich schon reichen ;-)

runsnake
Beiträge: 44
Registriert: 05.02.2014 20:24:50

Re: Script um Dienst zu kontrollieren

Beitrag von runsnake » 19.02.2014 23:40:08

Hätte auch noch eine Idee. Keine Ahnung ob die besser ist oder nicht.

Code: Alles auswählen

pgrep privoxy >/dev/null && echo "yes"
pgrep privoxy || echo "no"

thomas91
Beiträge: 40
Registriert: 05.04.2012 12:08:53

Re: Script um Dienst zu kontrollieren

Beitrag von thomas91 » 20.02.2014 07:57:01

Achtung: Das Skript wird auf dem Gerät ausgeführt, auf dem der Sensor angelegt wird. Das Arbeitsverzeichnis für das Skript ist das Stammverzeichnis für Skripte auf dem Linux/Unix Zielsystem.
Kann mir jemand verraten wo das Stammverzeichnis für Skripte unter Debian 7 ist?

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: Script um Dienst zu kontrollieren

Beitrag von Cae » 20.02.2014 12:58:48

thomas91 hat geschrieben:
Achtung: Das Skript wird auf dem Gerät ausgeführt, auf dem der Sensor angelegt wird. Das Arbeitsverzeichnis für das Skript ist das Stammverzeichnis für Skripte auf dem Linux/Unix Zielsystem.
Kann mir jemand verraten wo das Stammverzeichnis für Skripte unter Debian 7 ist?
Die Formulierung ist unueblich, vermutlich ist damit das $HOME des ausfuehrenden Benutzers gemeint oder andernfalls /. Auch /tmp/ waere ein sinnvoller Ort fuer so Aktionen, aber das hat nix mehr mit der Aussage zu tun.

Speziell bei Datenbanken wuerde ich mich nicht auf irgendwelche laufenden oder nicht laufenden Prozesse verlassen, sondern eine Test-Query absetzen. Zum Beispiel koennte man einen unberechtigten [1] MySQL-Benutzer mit genau einer Tabelle anlegen und als Test

Code: Alles auswählen

#!/bin/sh

echo 'select * from testtable limit 1;' \
| mysql -u monitoring -p password somedatabase 2>&1 >/dev/null
verwenden. Damit haette man eventuelle Fehlermeldungen vom mysql-Programm auf stdout und dessen Rueckgabewert direkt als Rueckgabewert des Skriptes. Disclaimer: Ich kenne mich mit den Details von MySQL nicht aus und will das auch gar nicht. Gut moeglich, dass es monitoring.testtable heissen muss oder aehnlich.

Gruss Cae

[1] Das Passwort dieses Benutzers wird auf der Kommandozeile uebergeben und ist daher fuer jeden Systembenutzer sichtbar. Daher muss der MySQL-Benutzer so wenig wie moeglich Rechte haben.
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

Benutzeravatar
catdog2
Beiträge: 5352
Registriert: 24.06.2006 16:50:03
Lizenz eigener Beiträge: MIT Lizenz

Re: Script um Dienst zu kontrollieren

Beitrag von catdog2 » 20.02.2014 14:26:49

[1] Das Passwort dieses Benutzers wird auf der Kommandozeile uebergeben und ist daher fuer jeden Systembenutzer sichtbar. Daher muss der MySQL-Benutzer so wenig wie moeglich Rechte haben.
http://dev.mysql.com/doc/refman/5.1/en/ ... -user.html
Unix is user-friendly; it's just picky about who its friends are.

Antworten