TS Cronjob unter Plesk 8 ?

kama52

Registered User
Hi leute,

ich hab zwei TS unter Suse10.0 laufen, ohne Probleme.

Wollte unter Plesk 8 ein crontab einrichten, der den TS Server
jeden Morgen zur bestimmten Zeit den TS restartet.

Meine Zeile dazu:

/home/teamspeak_verzeichnis/teamspeak2-server_startscript restart

jedoch erhalte ich immer die Meldung:

tsserver2.pid is missing, no started server ?

logge ich mich unter putty ein und restarte den unter shell, funzt alles tadellos ?!

TS starte ich natürlich nicht unter root und im crontab wähle ich auch entsprechenden Benutzer.

Hat vielleicht jemand eine Idee was ich falsch mache ??

thx a lot

kama
 
wieso musst du den immer starten wollen? Machst du jeden Tag einen reboot mit deinem System? Die Server sollen doch durchlaufen.
 
Muss ich nicht. Hab es bisher generell nicht unter crontab restartet bekommen und wollte vielleicht nur sicher gehen, das ich während meiner Abwesenheit (Urlaub zB.) halt jeden Tag "frisch" gestartet bekomme.

Hat jemand noch eine andere Idee?

Ich hab jetzt ne Menge gelesen über autom. TS startscript bei einem reboot des Servers, aber da scheiden sich ja wohl die Geister der Szene, wie man es am einfachsten und besten ausführt.

Wie macht ihr es denn ? Einmal die Woche einen reboot des Servers ?

Bin für jeden Hinweis dankbar !!!

Danke

Gruss

kama
 
Hi,

ich rate Dir ab unter root TS zu starten. Solltest Du auch shcon als Meldung bekommen haben.

Die .pid musst Du immer löschen, daher die error Meldung.

Aus meiner Erfahrung raus, muss ich sagen läuft TS sehr stabil. Falls mal ein restart anstehen sollte, dann startet man eben von Hand neu.
 
Damit wuerde regelmaessig (z.B. taeglich) eine neuer, zusaetzlicher TS2 Server gestartet, und das war es hoffentlich nicht, was Du damit machen wolltest. ;)
Das Startscript macht schon bei restart sauber einen stop (und das auch nur, wenn ein laufender Prozess bekannt ist -> PID-File) und danach einen start.

Und dazu
jedoch erhalte ich immer die Meldung:
tsserver2.pid is missing, no started server ?
logge ich mich unter putty ein und restarte den unter shell, funzt alles tadellos ?!
mein Tip ... Startscript lesen, verstehen, rofl und zurueck auf den Stuhl klettern.

Ciao,
Mercy.

P.S. Mir faellt grad ein ... Der per cron neue gestartete Server wird nicht lange laufen ... Der alte wird aber auch nicht durchgestartet ist also ein Nullsummenspiel.
 
Last edited by a moderator:
Mach doch es doch einfach so. Statt Restart gibts du das ein....

su -c "killall server_linux" "ts" (Damit killst die alle Laufenden Teamspeak Server..)

rm /home/TEAMSPEAKVERZEICHNISS/server.pid (Dies ist zum löschen des .pid files)

#su -c "/home/TEAMSPEAKVERZEICHNIS/server_linux" "ts"
/home/ts/ts1/server_linux

(Hiermit Startest du die Teamspeak Server wieder)

Wenn was falsch ist bitte korrigieren, müsste aber so gehn !
 
Hmm,

Ich glaube ich kenne den Autor dieses Skriptes persönlich.
Der ist nicht sonderlich erfreut über den Mist den er mal vor langer Zeit geschrieben hat. Eine kleine Korrektur!

Code:
#!/bin/sh


                cd /home/teamspeak
                kill -TERM `cat /home/teamspeak/server.pid`
                sleep 5
		if [ ! -x server_linux ]; then
		chmod u+x server_linux
		fi
	        ./server_linux

exit 0

So dieses Script Killt zuerst den Mutterprozeß deiner Teamspeak Server. Wartet 5 Sekunden und Starten dann den Teamspeak Server.

Ob das Allerdings eine gute Lösung ist weiß Ich nicht.

Du möchtest doch das dein Teamspeak Server immer Online ist oder?
Wieso verwendest du nicht einfach den Befehl nohup?

Ein Beispiel!

Code:
#!/bin/sh
cd /home/teamspeak
while true; do nohup ./server_linux; sleep 30; done &

Dieses Script überprüft alle 30 Sekunden ob der Prozeß noch läuft. Tut er das nicht wird der Prozeß wieder gestartet. Keine Panic wegen der server.pid die wird beim Start über ./server_linux einfach überschrieben.

Jetzt gibst du crontab -e ein und addest folgende Zeile

Code:
@reboot /pfad/zu/dem/eben/erstellenten/script

einmal esc drücken dann Doppelpunkt und wq eingeben enter und gut ist. Jetzt ist dein Teamspeak Server wirklich optimal gesichert. Bei Fragen ICQ: 276854839

Damit wuerde regelmaessig (z.B. taeglich) eine neuer, zusaetzlicher TS2 Server gestartet,

MOD: Full-Quote entfernt!

Nein würde er nicht da der TCP Query Port sowie der Webinterface Port schon belegt wären uns der Teamspeak beim Starten mit einer Error Meldung abbrechen würde.

MOD: Full-Quote entfernt!

tsserver2.pid is missing, no started server ?

Einfache Sache. Das Teamspeak Startscript findet keine server.pid da diese in /home/blabla liegt das Script jedoch im Ordner Root ausgeführt wird.
Erstelle einfach ein Shell Script mit folgendem Inhalt!

Code:
cd /home/teamspeak_verzeichnis/
./teamspeak2-server_startscript restart

So jetzt findet er die Server.pid und alles funktioniert....
 
Last edited by a moderator:
Autostart

Hallo, ich habe ähnliches vor... neinnein- ich will den server nicht ständig neu starten- wozu hat man denn einen root? aber es kommt b und an halt mal vor dass ich updates mache oder ähnliches die am ende einen reboot erfordern- und jetzt möchte ich lediglich die zusätzlich installierten anwendungen zu denen auch der TS gehört automatisch mitstarten. da müsste es ja sicher auch eine möglichkeit geben...

klar- köännte ich per hand machen... aber bei einem teamspeakserver, 2 gameservern und diversen anderen anwendungen wäre es nat. schön wenn ich mir das ersparen könnte und die prozesse einfach beim booten mit dem usernamen mit ausführen könnte...

sollten ja natürlich nicht als root ausgeführt werden... was ich ja auch nicht mache. ich habe eigens für die zusaätzlich installierten anwendungen einen user angelegt der weder root ist noch zu den usern gehört die von plesk angelegt wurden... Yast sei dank ;) ist ja schön leicht zu handhaben. naja, wenn mir da wer helfen könnte wäre das nat. klasse ;)
 
das Verzeichnis /etc/init.d (bei Debian, jedenfalls in /etc zu finden) ist dein Freund. Da musst du halt dir ein Script bauen wo alle Startaufrufe wie z.B. /home/cd/hlds_run -x -y
drin stehen und das nach init.d verschieben. Wird soweit ich weiß vom Besitzer der Datei gestartet.
 
Back
Top