Thomas Preissler am Mittwoch, 27. August 2003 18:46:
Hallo CotN,
* CotN schrieb am 27.08.2003:
hallo ich habe auf einem 1und1 server mit suse 8.1 americas army installiert. jetzt möchte ich per cron alle, sagen wir 5 minuten, überprüfen lassen, ob das programm noch läuft. falls es nicjtmehr läuft soll es dann neu gestartet werden. den groben ablauf weiss ich, aber ich hab keine ahnung wie ich die einzelnen befehle verknüpfen muss.
das schema das ich mir vorstelle: checken ob server-bin läuft(der aao-server) ps -A |grep server-bin
wenn ja, script beenden
wenn nein, script neu starten mit: /opt/games/americasarmy/System/server-bin global Insurgent_Camp -nohomedir -INI=server.ini das ganze am besten nicht als root sondern als user games
und wenn auch das fehlschlägt ne mail absetzen mit ner fehlermeldung
das stell ich mir als ideal vor.
kann mir da irgendwer weiterhelfen? andere vorschläge hör ich auch gerne dazu ;)
Wie lautet Dein kompletter Name? Danke.
pgrep server-bin || /opt/games/americasarmy/System/server-bin global ...
Das || bewirkt, wenn der Prozess nicht gefunden wird, der andere Befehl ausgeführt wird.
Vielleicht noch zur Ergänzung und Erläuterung: || ist das logische "ODER" (bzw. "OR"). Das obige Konstrukt bedeutet also: Führe Befehl1 aus ODER Befehl2 `pgrep server-bin` liefert die Prozess-ID(s) von server-bin. Wenn das erfolgreich war, bricht das "ODER" die Befehlskette ab. Weitere interessante Hinweise dazu findet man in diversen Dokumentationen zur Shell-Programmierung (-> google). -- Gruß MaxX 8-)