TeamSpeak 3 Server Autostart und Service Skript (LSBInitScript)

    • Offizieller Beitrag

    Hallo,


    heute stelle ich euch mein "init.d" Skript für euren TeamSpeak 3 Server vor. Diese Skripte werden auch oftmals "LSBInitScript" genannt.



    Was macht bzw. kann das Skript?

    • Beim Hochfahren des physikalischen Servers, worauf die TeamSpeak Instanz installiert ist, wird der TeamSpeak Server automatisch gestartet
    • Beim Herunterfahren des physikalischen Servers, wird der TeamSpeak 3 Server ordnungsgemäß gestoppt
    • Das Skript nutzt das "ts3server_startscript.sh" Skript der jeweiligen Instanz, um die Befehle aus zu führen
    • Folgende Befehle sind möglich:

      • Starten des TeamSpeak 3 Servers


        Code
        service ts3server start


      • Stoppen des TeamSpeak 3 Servers


        Code
        service ts3server stop


      • Neustart des TeamSpeak 3 Servers


        Code
        service ts3server restart


      • Status des TeamSpeak 3 Servers


        Code
        service ts3server status


    Hinweis: Der Befehl "service" ist nur für den root Benutzer verfügbar.


    Auf folgenden Systemen wurde es aktuell erfolgreich getestet:

    • Debian Wheezy 7.6

    Wenn ihr es benutzen wollt, müsst ihr folgendes machen:

    • Nachfolgenden Quellcode kopieren und auf dem Server unter "/etc/init.d/ts3server" speichern:


      Bash
      #!/bin/sh### BEGIN INIT INFO# Provides:          ts3server# Required-Start:    $local_fs $remote_fs $network $syslog $named# Required-Stop:     $local_fs $remote_fs $network $syslog $named# Default-Start:     2 3 4 5# Default-Stop:      0 1 6# X-Interactive:     true# Short-Description: TeamSpeak 3 server# Description:       Start the TeamSpeak 3 server and associated services#  This script will start TeamSpeak 3 server, and possibly all associated services.### END INIT INFODESC="voice server"NAME=ts3serverUSER="teamspeak"SCRIPTNAME="${0##*/}"SCRIPTNAME="${SCRIPTNAME##[KS][0-9][0-9]}"ENV="env -i LANG=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"case "$1" in  start)        echo "Starting $DESC" "$NAME"        echo        su - $USER -c "./ts3server_startscript.sh start"        ;;  stop)        echo "Stopping $DESC" "$NAME"        echo        su - $USER -c "./ts3server_startscript.sh stop"        ;;  status)        su - $USER -c "./ts3server_startscript.sh status"        exit $?        ;;  restart)        echo "Restarting $DESC" "$NAME"        echo        su - $USER -c "./ts3server_startscript.sh stop"        su - $USER -c "./ts3server_startscript.sh start"        ;;  *)        echo "Usage: $SCRIPTNAME {start|stop|status|restart}" >&2        exit 3        ;;esacexit 0


    • Skript anpassen


      Code
      vim /etc/init.d/ts3server


      USER="teamspeak" => Hier muss der Linux User gesetzt werden, dem die Server-Dateien gehören. Das ts3server_startscript.sh muss hierfür dann im root des Home-Verzeichnisses des entsprechenden Users liegen. Der Rest wird NICHT angefasst!

    • Rechte des Skripts anpassen


      Code
      chmod 0755 /etc/init.d/ts3server


    • Skript installieren


      Code
      cd /etc/init.d/ && insserv ts3server && cd - > /dev/null
    • Skript testen


      Code
      /etc/init.d/ts3server status


      Wenn der Befehl "service" vorhanden ist, könnt ihr natürlich auch folgendes ausführen:

      Code
      service ts3server status

    Ich wünsche euch viel Spaß damit! Wenn ihr Fragen oder Probleme habt, kommt einfach auf mich zu. ;)


    • Offizieller Beitrag

    Das Installieren funktioniert nur auf Debian basierten Distributationen, da jede Distributation ein leicht anderes Verfahren hierfür hat. Wenn es den Befehl "insserv" aber auch auf anderen Distributationen gibt, dann sollte das Skript auch dort funktionieren.


    Der Autostart-Mechanismus sollte aber auf allen Linux Distributationen funktionieren.

  • Dieses Thema enthält 23 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind, bitte registrieren Sie sich oder melden Sie sich an um diese lesen zu können.