Cronjob für TS2 und 3 Restart

michi119

New Member
Moin,
ich habe einen Linux (openSUSE 11.1 - Plesk 9.2) Root.
Nun frage ich mich, wie erstelle ich einen Cronjob der Teamspeak2, und Teamspeak3 über screen (bzw. anderweitig im hintergrun) startet.
Wäre um hilfe sehr dankbar.
MfG
michi119
€dit: würde folgendes klappen?
TS2:
crontab -e -u ts
@reboot /home/ts/tss2_rc2/server_linux&
(das & startet ja dann im hintergrund, oder?)
TS3:
crontab -e -u ts3
@reboot /home/ts3/teamspeak3-server_linux-x86/ts3server_linux_x86&
das & wieder für HG
€dit2:
gerade getestet, ts2 wird anscheinend restartet, ts3 spuckt das aus:
2010-01-19 11:39:31.128000|ERROR |ServerLibPriv | | Failed to create "logs" directory
ERROR: openFile( file:logs/ts3server_2010-01-19__11_39_31.128000.log) failed
2010-01-19 11:39:31.128000|WARNING |LogFile | | Failed to open file for logging, file logging disabled
TeamSpeak Server 3.0.0-beta15 [Build: 9884]
(c)TeamSpeak Systems GmbH

Logging started
2010-01-19 11:39:31.128000|INFO |ServerLibPriv | | Server Version: 3.0.0-beta15 [Build: 9884]
2010-01-19 11:39:31.132000|CRITICAL|DatabaseQuery | | unable to load database plugin library, halting!
[1] 3113
[1]+ Exit 1 /home/ts3/teamspeak3-server_linux-x86/ts3server_linux_x86
PS: bin mir halt unsicher, ist mein erster Linux server, und bin mich noch in die Materie am einarbeiten
 
Last edited by a moderator:
so, nach 2 edits wahrscheinlich Fehler gefunden, aber kein Lösungsweg. Kann es daran liegen das der User ts3 nicht die rechte hat mit "&" auszuführen? Wenn ich es über
Code:
screen -dms ts3 /pfad/zum/installationsverzeichnis/ts3server_linux_x86
starte, klappt es, muss halt vorher ins Verzeichnis via "cd" und den Befehl als root ausführen, was ja eine Gefährdung darstellt, welche ich gerne ausschließen würde.
Wie bekomme ich es hin ts3 über den user ts3 zu starten per cronjob beim reboot?
 
Dein Problem hat primär nichts damit zu tun, ob das Programm im Hintergrund (mit &) gestartet wird, oder nicht. Es liegt einzig allein am entsprechenden Verzeichnis und den Rechten.

Bevor Du lange versuchst, mit crontab und screen zu experimentieren, solltest Du es erst hinbekommen, dass das Programm als nicht-privilegierter Benutzer läuft (d.h. führe ein "su - ts3" aus und arbeite in dieser Shell).

Aus den von Dir geposteten Informationen wird z.B. klar, dass ein Verzeichnis "log" erwartet wird, in dem dann logischerweise der Benutzer ts3 Schreibrechte braucht. Dazu musst Du das Verzeichnis dem Benutzer zuweisen ("chown ts3 log") allerdings nur, wenn es sich dabei nicht um das Systemweite Verzeichnis /var/log handelt!

Wenn Du mit den Rechten experimentierst ist es wichtig, dass der Benutzer ts3 keine Schreibberechtigungen auf die Programm-Dateien hat, allerdings muss er bestimmte Dateien lesen können (daher kommt wahrscheinlich der zweite Fehler (unable to load database plugin library).
Im Zweifelsfall kannst Du ja mal die Ausgabe von "ls -laR /home/ts3" posten.
 
Okay, klappt jetzt fast. Lag an dem chown auf die Logs.
Also manuell über den Befehl starten ging.
Nur, gerade reboot gemacht, allerdings führt er nur ts2 aus, nicht ts3 :S

€dit: Um etwas beizutragen, für TS3 wird als Cronjob folgendes benötigt:
crontab -e -u ts3
cd /home/ts3/teamspeak3-server_linux-x86/ && ./ts3server_linux_x86 &
 
Last edited by a moderator:
Hallo
Ich hab ein Problem das sehr ähnlich ist.
Manuel lässt sich der Server unter user ts3 problemlos starten.
Mit dem selben Eintrag in crontab allerdings startet er nicht.
ts3@RT0535:~$ crontab -l -u ts3
@reboot cd /home/ts3/ && ./ts3server_startscript.sh start

Der Versuch den Server direkt zu starten resultiert in folgendem, sowohl als ts3 als auch root.
ts3@RT0535:~$ ./ts3server_linux_x86
TeamSpeak Server 3.0.0-beta29 [Build: 12473]
(c)TeamSpeak Systems GmbH

Logging started
2010-10-13 06:34:44.818512|INFO |ServerLibPriv | | Server Version: 3.0.0-beta29 [Build: 12473], Linux
2010-10-13 06:34:44.819074|INFO |DatabaseQuery | | Please make sure you use the supplied ts3server_minimal_runscript.sh to run the server, or set LD_LIBRARY_PATH yourself
2010-10-13 06:34:44.819157|CRITICAL|DatabaseQuery | | unable to load database plugin library "libts3db_sqlite3.so", halting!
ts3@RT0535:~$

Kann ich das script nicht mit crontab verwenden?
Bitte für Linux Anfänger verständlich erklären.
 
Back
Top