TS3 Autostart mit überwachung

n.schulz_87

New Member
Huhu ihr lieben,

ich bin neu hier und benötige eure hilfe, da ich auch nicht weis wie ich das realisieren soll.

Ich möchte, dass der TS nach einem reboot mitstartet und sowohl eine Überwachung des Prozesses vorhanden ist. Also sollte der TS aus irgendwelchen Gründen sich beenden, das er automatisch neugestartet wird. Ich habe auch schon folgendes Script allerdings muss ich dazu sagen, dass ich da keine Ahnung von habe und nur nach Anleitung gehandelt habe.
Da ich gerade heute den Vorfall hatte, das sich der TS unerwartet beendet hat ohne jegliche log Einträge.

Zum System:
Debian Squeeze
Weiteres ist hierfür ja irrelevant :)

Code:
#!/bin/bash

### BEGIN INIT INFO
# Provides: teamspeak3 server
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start a teamspeak3 server
### END INIT INFO

USER="ts"
DIR="/home/ts"

case "$1" in
start)
cd ${DIR}
su $USER -c "${DIR}/ts3server_startscript.sh start"
;;
stop)
cd ${DIR}
su $USER -c "${DIR}/ts3server_startscript.sh stop"
;;
restart)
cd ${DIR}
su $USER -c "${DIR}/ts3server_startscript.sh restart"
;;
status)
cd ${DIR}
su $USER -c "${DIR}/ts3server_startscript.sh status"
;;
*)
echo "Usage: $0 in ${DIR}/ts3server_startscript.sh {start|stop|restart|status}">&2
exit 42
;;
esac

exit 0

Dieses Script startet allerdings nicht automatisch nach einem Reboot und startet keine Überwachung falls das überhaupt geht^^

Vielen Dank schonmal im vorraus für eure hilfe
 
Primär solltest du zuerst herausfinden, wieso der TS3-Server crasht. Ich selbst lasse zwei TS3-Server mit mehreren Virtuellen Servern laufen und von denen ist bis jetzt noch keiner abgestürzt.

Da du schon aus rein lizenzrechtlichen Gründen nur eine Instanz laufen lassen darfst, könnte dir einfacher Cronjob des Users weiterhelfen:

Code:
*/1    0    0    0    0    pgrep ts3server >/dev/null || /etc/init.d/ts3startscript start

Das würde den Server jede Minute neustarten, wenn der Prozess nicht vorhanden ist. Es findet aber keinerlei Überwachung statt, ob der Server reagiert. D.h. würde der Prozess noch laufen, aber aus unerfindlichen Gründen nicht reagieren, würde dieser nicht neugestartet werden. In dem Fall bräuchtest du sowas wie einen Watchdog (z.B. ein Script, dass alle 5 Minuten einen Query durchführt und ggf. den Prozess killt und den Server wieder startet.
 
Was hast du denn mit dem Script gemacht? Wo liegt es? Sind die Symlinks in die Runlevel angelegt?

Monit macht, was du suchst.
 
Back
Top