TS3-Server Autostart nach crash oder reboot per cron

  • Hallo zusammen,


    nach einen crash meines teamspeak-servers habe ich ein Konfigurationsproblem.


    So war es bisher:
    Über einen Cron-Job wurde jede Minute überprüft, ob der Teamspeak-Server noch läuft, wenn nicht, wird er neu gestartet. Wenn er läuft passiert nichts.


    cron-Eintrag:
    pgrep -l ts3server_linux | /home/teamspeak/server/ts3server_startscript.sh start inifile=ts3server.ini > /dev/null


    Inhalt der ts3server.ini


    Error-Message:
    2017-09-21 09:07:02.075991|CRITICAL|VirtualSvrMgr | |Could not start file manager 258 no network port available


    Ich bin mir nicht sicher, aber kann es sein, dass er versucht den Server zu starten, und nicht kontrolliert, ob er noch läuft? Wenn ja, wie kriege ich das geändert? Irgendwie bin ich zu blöd dazu.


    System: CentOS 7.3 64bis
    TS3 auch 64bit
    Datenbank: sqlite

  • Hallo,


    Welche Version des Server nutzt du denn? Bei mir heißt das Programm nicht ts3server_linux, sondern ts3server.
    Ein pgrep -l ts3server_linux liegert bei mir also kein Ergebnis, da er den Prozess nicht finden kann.


    Prüfe doch nochmal, ob der Prozess bei dir wirklich ts3server_linux heißt.


    Gruß

  • Wieso nicht systemd verwenden? Systemd verwaltet schon die ganzen Systemdienste die eben auch nicht abstürzten sollten und dürfen. Falls dies doch einmal passiert kümmert sich systemd direkt darum und startet den Dienst neu. Die Syntax ist nicht schwierig und erfordert praktisch keine weiteren Kenntnisse.
    Ich hab in einem anderen Thread schonmal darüber geschrieben. @tholler schau es dir mal und frag mich sonst. Macht vieles einfach. Vorallem auch das starten direkt nach dem booten oder neustarten falls der Prozess stoppt oder abbricht weswegen auch immer.


    Why not systemd?


    Dein eigentliches Problem ist das vermutlich ein Socket noch aktiv ist obwohl der zugehörige Prozess beendet wurde. Gäbe die Möglichkeit diesen zu suchen hier und da allerdings einfachster Weg wäre reboot. Danach via Systemd starten und das Problem wird nie wieder auftreten da Systemd sich ab dann um alles kümmert. Auch um verwaiste binds.