Dienst mit Cronjob überwachen und neustarten

20. Oktober 2011 um 19:40 in Internet, Linux von

Heute haben mein Bruder und ich uns darüber unterhalten, dass es nervig ist, wenn der Teamspeak³-Server ausfällt und es keiner mitbekommt.

 

Wir haben dann über eine möglichst einfache Lösung sinniert, wie man den TS³-Server schnell und automatisch wieder an den Start bekommt.

 

Meine Lösung sieht wie folgt aus:

Da ich ein start-stop-Script für meinen TS³-Server verwende, kann ich mir dieses zusammen mit einem Cronjob zu Nutzen machen.

Dazu schreibe ich einfach eine neue Zeile in /etc/crontab

*/5     *       *       *       *       root    ps ax | grep 'ts3server_linux' | grep -v 'grep'  ||  /etc/init.d/teamspeak start

 

Kurze laienhafte Erklärung:

Es wird per grep in ps ax nach dem Dienst ts3server_linux geschaut. Das 2. grep -v ‚grep‘ schliesst dabei alle Zeilen aus, die grep enthalten. Der letzte Teil ist der Aufruf des TS³-Servers, sollte das erste grep kein Ergebnis liefern – also der TS³-Server nicht aktiv sein.

 

Wer postfix (oder sendmail) installiert hat, kann den Teil zum Aufruf des TS³-Servers wie folgt ändern.

(/etc/init.d/teamspeak start && echo "Ich bin der Nachrichtentext" | mail -s"Betreff" e-mail-Adresse)

hängen.

Dann gibt’s eine nette Hinweis-Mail, wenn der Server neugetartet wurde.

In eigener Sache
Ich gebe mir beim Schreiben Mühe, den Artikel so verständlich und genau wie möglich zu verfassen. Sollte mir ein Fehler unterlaufen, lass es mich wissen. Sollte Dir der Beitrag gefallen haben, kannst Du mich mit einem Klick auf den Banner unter dem Beitrag belohnen. Über ein "Share" in einem SocialNetwork freue ich mich ebenso, wie über einen Kommentar zum Beitrag. Danke!

  • Daniel

    Man kann dafür auch z.B. den restartd verwenden

  • http://www.my-zwerg.de Jan Beuth

    Mensch, hättest mir das nicht 5 Minuten vorher sagen könenn 😀

    Bin grad so stolz auf mich 🙁

  • Carsten

    Unter Ubuntu kann der init-Ersatz "Upstart" auch bereits das gleiche leisten, und einen ausgefallenen Dienst sofort neu starten.

  • http://www.my-zwerg.de Jan Beuth

    Setzt aber voraus, dass ich ein "upstart-script" für zB den TS³-Server habe, oder?

  • Carsten

    Klar – aber die kann man auch selber schreiben. Gerade, wenn man ein Initskript als Vorlage hat, ist es in den allermeisten Fällen recht einfach. Das tückische sind maximal die Abhängigkeiten von anderen Diensten. Die sind bei TS3 aber ziemlich überschaubar: Netzwerk muss laufen 😀

  • Carsten

    Wenn Du magst, können wir uns das auch gerne mal gemeinsam anschauen 🙂

    BTW: Deine CAPTCHAs machen mich wahnsinnig. Hab eben so sanfte 7 Versuche gebraucht…

  • http://www.my-zwerg.de Jan Beuth

    Klar, können wir gerne mal kieken – lerne ja gern was dazu.

    Zu den Captchas: sorry, aber ich hatte die letzten Tage ein erhebliches Spamaufkommen in den Kommentaren :-/