Frage von SirDan, 26

Teamspeak Autostartscript für Debian (Linux)?

Guten Tag,

ich habe einen Script, welcher meinen TeamSpeak Server automatisch beim Serverstart hochfahren soll. Problem ist, wenn ich den User "Teamspeak" verwende, welcher für den Server vorgesehen ist, fährt der Server nicht hoch (vielleicht ein Problem mit der PID). Wenn ich allerdings den Script als "root" ausführen lasse, funktioniert alles prächtig. Script sieht wie folgt aus:

USER="teamspeak"
DIR="/home/teamspeak/teamspeakserver"
 
case "$1" in
start)
su $USER -c "${DIR}/ts3server_startscript.sh start"
;;
stop)
su $USER -c "${DIR}/ts3server_startscript.sh stop"
;;
restart)
su $USER -c "${DIR}/ts3server_startscript.sh restart"
;;
status)
su $USER -c "${DIR}/ts3server_startscript.sh status"
;;
*)
echo "Benutze: `basename $0` {start|stop|restart|status}" >&2
exit 1
;;
esac
exit 0

CHMOD ist 0755

Antwort
von LeonardM, 10

Du kannst den init dienst verwenden. Ab debian 8.0 systemd

Antwort
von Typhus, 23

Du machst es dir viel zu umständlich.


https://wiki.ubuntuusers.de/Cron/


Ausserdem fehlt deinem Script die Shebang Zeile.

Kommentar von SirDan ,

Wenn du mit der Shebang Zeile am Anfang des Scripts das "#!/bin/sh" meinst, dann habe ich sie drin, aber danke für die Erinnerung.

Wenn ich jetzt über einen Cronjob den Server starte, dann wird der Server auf dem Benutzer ausgeführt, auf dem ich Crontab geöffnet und editiert habe, oder?
Oder kann man im Crontab den Benutzer festlegen?

Kommentar von Typhus ,

Sowohl als auch. Im Systemweiten Crontab kannst du auch den Benutzer auswählen der den Prozess anstoßen soll.

Kommentar von SirDan ,

Wie würde das denn aussehen? Ich habe bisher Crontab verwendet um bestimmte Scripts z.B. im Minutentakt zu starten:

* * * * * /etc/init.d/twopenfng >/dev/null 2>&1

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten