Start Script

A

Alutard

Grünschnabel
Hallo zusammen .

Erst mal vorstellen Bin der Alu und nen linux nappel :)

Ich habe eine frage undzwar brauche ich ein start script fuer meinen root server.

Da rennt ein spiel drauf ein server sozusagen und manchmal passiert es das er crasht meist mitten in der nacht wen ich pennen .

So gibt es ein script fuer linux das er nach einem crash den prozess wieder startet?
Das sind diese 3 Prozesse .

./map-server_sql &


./char-server_sql &


./login-server_sql &

Wen mir dabei einer helfen könnt fände ich das super .
 
So einfach ist das nicht.

Ein Script wird einmal gestartet und läuft dann durch.

Woher soll denn das script wissen das dein Server gecrasht ist?

Eine Möglichkeit wäre evtl. ein Script zu schreiben, dass per cronjob alle x Minuten gestartet wird und prüft ob der Server noch läuft und den im Crash-Fall neu startet.

Dafür musst du dich aber in die bash-Programmierung einarbeiten, sonst kannst du es gleich lassen.

Eine fertige Lösung für genau diesen Fall gibt es IMHO nicht.

Lasse mich da aber gerne eines Besseren belehren.
 
Das macht mich jetzt echt schwach dachte das ist net so kompliziert :(
Hoffe jemand scjafft es dich eines bessern zu belehren hier drin :P
 
Was Du machen könntest, wäre ein Skript zu schreiben, das ein PID-File anlegt, ähnlich wie bei anderen Serverdiensten. Das Vorgehen ist so:

1. Du startest die drei Dienste der Reihenfolge nach und legst in /var/run die entsprechende PID-Files an (map_server.pid, char_server.pid, login_server.pid).
2. Du schreibst ein Skript, das per cron jede Minute kontrolliert, ob die drei Prozesse noch laufen. Die Nummer der Prozesse kommen dabei aus den PID-Files.
3. Wenn die Dienste regulär (von Hand) beendet werden, muss das PID-File gelöscht werden.
4. Wenn der Dienst abstürzt, bleibt das PID-File übrig. Dein cron-Skript findet das PID-File mit der PID, aber keinen Prozess dazu, löscht das PID-File, ruft Dein Start-Skript auf und startet das alles neu.

Es gibt für Start-/Stop-Skripte genügend Beispiele auf Deinem Server (in /etc/init.d). Lies dazu die Manuals zu startproc oder start_daemon (je nach Distribution). Ein bisschen Arbeit kostet Dich das aber schon. Du lernst dabei aber auch sehr viel.

EDIT:
@supersucker: Du hast völlig Recht, es liegt in der Natur der Sache, dass es keine fertige Lösung für ein Problem gibt, das eigentlich nicht auftreten sollte (der Absturz eines Serverdienstes sollte im Server verhindert werden und nicht per Skript aufgefangen werden).
@Alutard: Was Du machst, ist das Problem zu umgehen, nicht es zu lösen. Workarounds sind keine fertigen Lösungen, sondern eben... na ja, Workarounds.

Gruß
 
Zuletzt bearbeitet:
Hallo
Alutard schrieb:
Das macht mich jetzt echt schwach dachte das ist net so kompliziert :(
Hoffe jemand scjafft es dich eines bessern zu belehren hier drin :P
Wenn du einen Rootserver hast, solltest du dich ja schon ein wenig auskennen mit der shell. Zumindest Grundkenntnisse setze ich also vorraus. ;)

Desweiteren sind wir hier keine Scriptfabrik!
Also versuch das prinzipielle Vorgehen von phrenicus seinem Vorschlag umzusetzen.
Wenn es dann Probleme konkreter Art gibt, wird dir sicher geholfen.
Viel Glück.

Gruß Wolfgang
 
hi leute,

ich hab ein ähnliches problem. Doch benötige ich nur eine Rat von euch.

und zwar:

wie kann ich einem Prozess den ich mit & starte, eine ID zuweisen. Denn wenn ich nur mit & und starte, dahaaaaann weisst Linux automatisch eine Id zu und das will ich nicht, da ich dann nicht weis mit was ich den porzess später beenden soll mit kill . :-I

Wenn ich das weiss, kann ich mein Startscirpt mit C schreiben. Ich hoffe mir kann jmd helfen :)
 
???

sagt mir gar nix :-I


ich will doch nur ne ID zuweisen ;( ;( ;(
 
Ticha schrieb:
???

sagt mir gar nix :-I


ich will doch nur ne ID zuweisen ;( ;( ;(

Du kannst keine PID selbst zuweisen.
Du solltest dich deshalb darüber informieren, wie du die PID eines Prozesses ermitteln kannst, um ihn dann zu beenden.
Wenn dir die Manpage garnix sagt, dann informiere dich etwas über die Grundlagen.

Gruß Wolfgang
 
an die suchenden: das heißt watchdog. dafür gibts bestimmt ein paar skriptle, die sich per suchmaschine finden lassen.
 

Ähnliche Themen

was soll das?

Zurück
Oben