• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[solved] Was ist an meinem Startscript falsch ?

cow

Newbie
Hallo an alle,

Ich habe einen Server aufgesetzt mit verschidenen Server Programmen. Nämlich CS 1.6, TS2 und Ventrilo. Also kam ich auf die Idee ein Startscript zu erstellen doch dieses will einfach nicht funktionieren.

Code:
#!/bin/sh /home/cow/noip/noip2 
cd /home/cow/hlds/ 
screen -A -m -d -S cs ./hlds_run -game cstrike +maxplayers 12 +map de_dust
cd /home/ventrilo/
screen -A -m -d -S ventrilo
./ventrilo_srv
exit
cd /home/ts/tss2_rc2/
screen -A -m -d -S ts
./teamspeak2-server_startscript start

Ist daran etwas falsch ? Bevor ich es ausführe setzte ich die Rechte auf chmod 777 dann müsste es ausführbar sein.

Ich vermute das es ein tübischer Anfängerfeheler ist :D aber bitte helft mir trodzdem !

Gruß COW
 
OP
C

cow

Newbie
Nein ! Ich "tauche" scheinbar in eine screen Konsole ab in der nichts steht außer www:/var/www#. Wenn ich dann mit [STRG][a,d] wieder in die Hauptkonsole zurückkehre sehe ich wie ein CS 1.6 Server gesatrtet wird.

Es ist alles so wie ich es nicht haben will. CS 1.6 startet sich in der Hauptkonsole und die restigen Serverprogramme werden erst gar nicht gesatrtet. Woran könnte das liegen ?

Gruß cow
 
OP
C

cow

Newbie
Ich habe bei meinem User /bin/bash/ in /bin/sh umgestellt doch das brachte auch keinen Erfolg. Auch folgende änderung brachte keinen Erfolg :

Code:
#!/bin/sh 
/home/cow/noip/noip2; 
cd /home/cow/hlds/ ;
screen -A -m -d -S cs ./hlds_run -game cstrike +maxplayers 12 +map de_dust;
cd /home/ventrilo/;
screen -A -m -d -S ventrilo;
./ventrilo_srv;
exit;
cd /home/ts/tss2_rc2/;
screen -A -m -d -S ts;
./teamspeak2-server_startscript start;

Eigentlich wollte ich das Startscript nur haben das ich es in den Bootprozess einbinden kann und das ich so alle Befehle nicht mehr manuell einfügen muss. Aber wenn es die Möglichkeit gibt alle Befehle einzeln also nicht in einem Startscript im Bootprozess einzubinden wäre ich mit dieser Möglichkeit auch sehr zufrieden. Bloß hätte ich keine Ahnung wie des geht !

Gruß Kuh
 
Das Script arbeitet alle Befehle der Reihe nach in der aktuellen Sitzung ab.
man screen sagt mir, dass du die Startbefehle direkt an screen übergeben musst.
Bsp:
Code:
screen -A -d -m -t test htop
# Startet htop im screen mit dem Titel test
screen -d -r -t test
# Wechselt in den Screen
Außerdem ist er sinnvoll die Server mit kompletten Pfaden zu starten:
Code:
/home/ts/tss2_rc2/teamspeak2-server_startscript start
...

[edit]
cow schrieb:
Ich habe bei meinem User /bin/bash/ in /bin/sh umgestellt doch das brachte auch keinen Erfolg.
Was hast du dir davon versprochen?

Für den Fall dass deine Server-Distribution SuSE ist ...
... solltest du dem Script
1. einen LSB-Konpatiblen Header verpassen, und
2. das ganze mit start|stop anweisungen versehen
=>
Code:
case $1 in
  start)
  #server starten
  ;;
  stop)
  server stoppen
  ;;
esac;
Siehe Beispiel-Script '/etc/init.d/skeleton'

[edit2]
=> [Allgemein] runlevel scripte - Scripts selber erstellen
 
OP
C

cow

Newbie
Es lag an fehlenden '' Zeichen oder zumindest geht es so :

Code:
#!/bin/sh 
/home/cow/noip/noip2
cd /home/cow/hlds/
screen -A -m -d -S cs ./'hlds_run' -game cstrike +maxplayers 12 +map de_dust
cd /home/ventrilo/
screen -A -m -d -S ventrilo ./ventrilo_srv
cd /home/ts/tss2_rc2/
screen -A -m -d -S ts ./'teamspeak2-server_startscript' start

Vielen Vielen Dank an alle Helfer ihr habt mir sehr geholfen!
 
Oben