Script zur Überprüfung ob ein Dienst läuft und dessen restart...

  • Thread starter Thread starter HxD
  • Start date Start date
H

HxD

Guest
Mahlzeit,

aktuell habe ich ein kleines Problem, weshalb ich einfach mal die Erfahrenen Admins dies bezüglich Fragen wollte. Folgendes:

Ich habe einen Dienst auf einem dedicated Server laufen dessen Prozess ich ja eine PID zuordnen kann. Dies habe ich auch getan. Nun brauche ich ein bash Script, welches jede Minute überprüft ob der Prozess mit der angegebenen PID noch läuft und ggf. falls dieser Dienst nicht mehr laufen sollte, ihn in einem screen neustartet.

Da ich allerdings generell sehr wenig mit bash scripting oder generell mit Programmierung egal ob PHP, bash, JavaScript etc. pp. zu tun habe, bräuchte ich in diesem Bereich ein bisschen Hilfe.

Wie ich das Script in der crontab Eintrage usw ist mir natürlich klar, jedoch nicht wie genau das Script aussehen müsste, hat eventuell jemand solch ein Script bereits rumliegen oder könnte mir eine Hilfestellung geben wie dieses auszusehen hat? Ich weiss, ist ein bisschen viel verlangt, brauche dieses Script jedoch so schnell wie möglich und da ich blutiger Anfänger in diesem Bereich bin, versuch ich einfach mal an eure Nettigkeit und Hilfsbereitschaft zu appelieren :p

Bin auf jeden fall für jegliche Hilfe dankbar!

Grüße, HxD

//Edit: Bevor ich es vergesse, genutztes OS ist Debian 5
 
Verdammt..:eek:

Wieso auch einfach wenns schwer geht, wa... Danke dir Ben!
 
So weit, so gut. Nun eine Verständnisfrage.
Ist die Config nun korrekt eingestellt für meine Zwecke?

Code:
check process uoworld with pidfile /home/uo/pid/uoworldd.pid
group uouser
start programm = "screen -m -d /home/uo/exec/uoworldd"

Im Grunde müsste es doch alles sein oder? Weil nen - stop programm - bräuchte ich ja theoretisch nicht, will den Dienst ja nur neustarten, FALLS er nicht laufen sollte...

Irgendwie scheint mir das zu einfach, hab doch bestimmt nen Fehler gemacht oder? :rolleyes:
 
Was machst du wenn der Service läuft aber nicht mehr antwortet? Ein weiterer Start wird da nicht viel ausrichten können.

Zudem noch den Airbag einbauen:

if failed ...
then restart
if 5 restarts within 5 cycles then timeout

Sonst kommst du in eine Endlosschleife wenn du Pech hast.
 
Back
Top