Teamspeak 2 - Skript gibt falsche Meldung zurück
Hallo,
ich habe einen vServer gemietet. auf diesem V-Server läuft SUSE Linux 10.3. Auf diesem Server habe ich unter anderem einen Teamspeak 2 Server laufen.
Ich habe ein Skript geschrieben das den status täglich 1 mal abfragt. Wenn ich das was in dem Skript steht per Hand ausführe funktioniert es einwandfrei.
In Teamspeak ist ein Skript vorhanden mit dem man den Status abfragen kann. Dieses Skript verwende ich. Als antwort steht auf der Kommandozeile
The server seams to be running.
Soweit so gut. Jedoch wenn ich das von dem Skript ausführen lasse und mir das Skript das dann per mail zusendet steht in dem Text der Mail
The server seams to be stopped.
Jedoch der Server läuft. Hat jemand ne ahnung wieso die Meldung kommt, wenn ich das ganze von einem Skript ausführen lasse? Der Server selber läuft aber die Antwort die in dem Skript steht ist eine Falsche.
Über einen Cronjob lasse ich das Skript 1 mal am Tag ausführen.
Das Kommando habe ich als root auf dem server ausgeführt. Das Skript habe ich als root in das cron-verzeichnis geschoben.
Schon mal vielen dank für die Hilfe
mfg DerChirurg
ich habe einen vServer gemietet. auf diesem V-Server läuft SUSE Linux 10.3. Auf diesem Server habe ich unter anderem einen Teamspeak 2 Server laufen.
Ich habe ein Skript geschrieben das den status täglich 1 mal abfragt. Wenn ich das was in dem Skript steht per Hand ausführe funktioniert es einwandfrei.
In Teamspeak ist ein Skript vorhanden mit dem man den Status abfragen kann. Dieses Skript verwende ich. Als antwort steht auf der Kommandozeile
The server seams to be running.
Soweit so gut. Jedoch wenn ich das von dem Skript ausführen lasse und mir das Skript das dann per mail zusendet steht in dem Text der Mail
The server seams to be stopped.
Jedoch der Server läuft. Hat jemand ne ahnung wieso die Meldung kommt, wenn ich das ganze von einem Skript ausführen lasse? Der Server selber läuft aber die Antwort die in dem Skript steht ist eine Falsche.
Über einen Cronjob lasse ich das Skript 1 mal am Tag ausführen.
Das Kommando habe ich als root auf dem server ausgeführt. Das Skript habe ich als root in das cron-verzeichnis geschoben.
Schon mal vielen dank für die Hilfe
mfg DerChirurg
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 116367
Url: https://administrator.de/contentid/116367
Ausgedruckt am: 16.12.2024 um 09:12 Uhr
3 Kommentare
Neuester Kommentar
Zuerstmal solltest du in die Logs schauen ob es dort irgendwelche Fehler/Warnungen vom Cron-Daemon gibt. Wenn dort nichts zu finden ist, wirst du wohl das Skript posten müssen, da dir sonst kaum jemand sagen kann woran es scheitert. Auch das Eintragen eines MAILTO in die crontab kann hilfreich sein, damit du die Fehlermeldungen von den Cronjobs zugeschickt bekommst.
Das von Cron sind keine Status-Mails, sondern eine Weiterleitung der Outputs von Cronjobs. Dazu trägt man einfach in der crontab am Anfang
ein und verzichtet auf Ausgabeumleitungen für den Error-Output (also z.B. kein '2>&1' o.ä. an's Ende anhängen). Gibt es dann einen Output von einem Cronjob, wird dieser automatisch an die angegebene Adresse geschickt.
In dem Skript sehe ich auch erstmal nichts problematisches. In den Systemlogs steht auch keine Warnung o.ä. von den Crons? Ich kann mir eigentlich nur vorstellen, dass die Status-Abfrage u.a. irgendwelche Umgebungsvariablen nutzt, die bei Cronjobs nicht zur Verfügung stehen. Schliesslich dürfte ja 'teamspeak2-server_startscript' auch nur ein Skript sein, das evtl. irgenwelche Umgebungsvariablen voraussetzt. In dem Fall musst du dein Skript einfach explizit mit einer Login-Shell aufrufen (bash -l meinskript.sh).
MAILTO=admin@domain.tld
ein und verzichtet auf Ausgabeumleitungen für den Error-Output (also z.B. kein '2>&1' o.ä. an's Ende anhängen). Gibt es dann einen Output von einem Cronjob, wird dieser automatisch an die angegebene Adresse geschickt.
In dem Skript sehe ich auch erstmal nichts problematisches. In den Systemlogs steht auch keine Warnung o.ä. von den Crons? Ich kann mir eigentlich nur vorstellen, dass die Status-Abfrage u.a. irgendwelche Umgebungsvariablen nutzt, die bei Cronjobs nicht zur Verfügung stehen. Schliesslich dürfte ja 'teamspeak2-server_startscript' auch nur ein Skript sein, das evtl. irgenwelche Umgebungsvariablen voraussetzt. In dem Fall musst du dein Skript einfach explizit mit einer Login-Shell aufrufen (bash -l meinskript.sh).