View Full Version : ts-server bei reboot starten
ich mache hier mal dafür einen neuen thread auf.
ich möchte, dass sich der ts-server bei jedem neustart von linux startet.
nur ich kriege das nicht hin.
habe die crontab geöffnet, dort "@reboot server cd /home/server/tss2_rc2/ ./server_linux" reingeschrieben. funktioniert nicht.
auch "@reboot server /home/server/tss2_rc2/teamspeak2-server_startscript start" funktioniert nicht.
wie kriege ich das nun hin??
habe Suse Linux auf meinem root am laufen.
Ich glaub dieser Link hilft dir weiter:
Crontab howto (http://www.rootforum.de/forum/viewtopic.php?t=16846&postdays=0&postorder=asc&start=0)
tut er nicht, denn diesen hab ich schon durchgelesen. deshalb bin ich auch auf "@reboot server /home/server/tss2_rc2/teamspeak2-server_startscript start" gekommen.
dann probiert mal das da:
init.d (http://www.rootforum.de/forum/viewtopic.php?t=22231&highlight=teamspeak)
ok, soweit verstehe ich das.
aber man muss das ganze ja unter "root" machen. wie kann ich das jetzt so einstellen, dass das script als "user" gestartet wird?
wenn ich ein runlevel als "user" anlegen möchte, dann schreibt er, dass ich zu wenig rechte hab.
Also ich hab das Ganze mit Cron hinbekommen:
Mein User heißt "tss". Der Pfad ist also "/home/tss/tss2_rc2".
Das Problem ist wohl, dass das Skript gefunden wird, aber die Pfade wohl alle absolut angegeben werden müssen (ich kenne mich zwar nicht so gut aus mit Linux, aber dies scheint mir nach dem Studium von "/var/mail/tss" das Problem zu sein).
Also habe ich ein Skript namens "crontss2" in "/home/tss/tss2_rc2" mit folgendem Inhalt erstellt:
#! /bin/bash
cd /home/tss/tss2_rc2
/home/tss/tss2_rc2/teamspeak2-server_startscript start
exit 0
Das Skript muss dann natürlich ausführbar sein.
Am Besten noch einen Testlauf machen und von der Konsole das Skript starten und überprüfen, ob der Server läuft ("teamspeak2-server_startscript status").
Danach hab ich mich als User "tss" eingeloggt und "crontab -e" ausgeführt. "i" gedrückt und "@reboot /home/tss/tss2_rc2/crontss2" eingegeben. ESC gedrückt, ":wq" eingegeben und alles läuft prima.
Du müsstest natürlich den Usernamen "tss" in den Pfaden durch "server" ersetzen.
Ich hab noch eine kleine Ergänzung:
Wenn der Rechner nicht ordnungsgemäß runtergefahren wurde (kann ja mal passieren), befindet sich die tsserver2.pid noch in dem Verzeichnis und der Server startet nicht. Es könnte also sinnvoll sein, in das Skript noch eine Zeile "rm /home/tss/tss2_rc2/tsserver2.pid" (vor dem Start des Servers) zu ergänzen. Sollte kein Problem darstellen, da das Skript ja sowieso nur beim booten ausgeführt wird.
Also hier mal meine Version wie ich mein TeamSpeak bei Booten mitstarte: (Ich weiß das diese Version nicht gerade die sauberste ist, es ist aber eine möglichkeit)
VORAB: ICH ÜBERNEHME KEINE HAFTUNG AUF EVENTUELL AUFTRETENDE SCHÄDEN ! GETESTET WURDE DIESES "SCRIPT" UNTER DEBIAN 3.0
1. Shell öffnen
2. "su" eingeben.
3. Root-Passwort eingeben.
4. "vi /etc/crontab" eingeben.
5. Ganz unten folgende Zeilen hinzufügen:
#TeamSpeak
Und darunter:
@reboot user /home/tss2_rc2/server_linux
Wobei "user" durch den Benutzer ersetzt werden soll der den Server starten sollte (NICHT ROOT !!!). "/home/tss2_rc2/" sollte natürlich durch das eigene Verzeichnis ersetzt werden.
wäre da nicht besser das beiliegende startscript zu nehmen ?
und das per cron zu starten ?
Ja, dass wäre es wohl, geht aber dann nicht so einfach. Ich habe es mit
@reboot user /home/tss2_rc2/teamspeak2-server_startscript start
auch ausprobiert, hat aber nicht funktioniert. Wenn das einer realisieren könnte wäre ich dankbar.
die frage ist warum musst du so oft neustarten hört sich ja fast nach ner M$ Kiste an. Also meine Kiste lauft seit 120 tagen ohne reboot. und ist auf dem neusten stand.
Ne, ich muss auch nicht oft neustarten, das ganze hat bei mir folgenden sinn:
Ich muss oft im Aussendienst arbeiten und bin daher von Montag bis Donnerstag nicht zuhause. Mein Provider vom Mietserver bietet mir den Service an den kompletten Server im Notfall zu resetten. Also habe ich mir ein PHP-Script geschieben, dass auf dem Index bekannter Websites mit eingebunden ist. Das Script prüft im Hintergrund ob der TeamSpeak-Server läuft. Wenn er läuft, passiert nix. Wenn er nicht läuft, werden automatisch 2 E-Mails versendet (ohne das der Besucher das mitbekommt, vielleicht hast DU mir auch schon soeine Notfall-E-Mail gesendet :)), eine zu meinem Provider, dass Sie den Server neustarten sollen (Mit dem Cronjob startet TeamSpeak dann automatisch mit ausser wenn ein "wirkliches" Problem mit dem Server besteht) und eine auf mein E-Mail-Postfach, dass von einem anderen Provider überwacht wird und mir sofort eine SMS auf mein Handy sendet sobald er down ist.
Nette sache ;)
vBulletin® v3.7.0, Copyright ©2000-2008, Jelsoft Enterprises Ltd.