Linux Server Screens starten nach neustart

matrix1420

New member
Hallo ,

Ist es möglich ein Linux Root Server so einzustelen das er bistimmte Screens nach einen restart automatisch startet?

*debian

Mfg
matrix1420
 
Du musst dir ein bash Script schreiben, dass die screens starten. Das rufst du dann entweder beim System-Start auf (/etc/init.d/) oder du checkst mit cron alle X Minuten ob der screen noch läuft und startest ihn dann.

Wenn du cron verwendest hast du den Vorteil, dass du das bash-Script ausbauen kannst. Beispielsweise kannst du schaun ob der Prozess (zB Teamspeak oder ein Spiel) noch läuft und wenn nicht neustarten. Schmiert dir dann irgendwann der Prozess ab wird er automatisch wieder gestartet.

 
@pixelflat
user_online.gif


Danke für die antwort


Mein problem ist leider das ich mit dieser thematik mich erst seit kurzem beschäftigte und das meiste bassiert auf COPY & PASTE .

Wäre es vielleicht möglich dass du es mir etwas ausführlicher erklären könntest 😉 :f


z.b in den Link wird gesagt

Gestartet wird eine screen-Session mit der UID des Benutzers (ganz praktisch, um die zu unterscheiden)

screen -S game_xy_$(id -u) whateverinto-gameserver-dingens

Code: #!/bin/bash

if [[ -z $(screen -ls | grep game_XY_$(id -u)) ]]; then
# session existiert nicht
screen -d -m -S game_XY_$(id -u) xeyes
fi

Leider verstehe ich nur banhof 😛





Mfg
matrix1420
 
man screen 😉

Mit -S legst du den Namen der Session fest. Alles dahinter wird automatisch in der Session gestartet. Zum Beispiel:
Code:
screen -d -m -S ts3 ./ts3script.sh

Die Parameter "-d -m" zusammen bedeutet nur, dass die Session direkt wieder in den Hintergrund geschickt wird (detached).

Das Ganze kannst du jetzt in ein Bash-Script packen und in /etc/init.d/ ablegen. So wird bei jedem Server-Start die screen session gestartet (welche wiederum ts3 startet).

Im Endeffekt musst du doch nur die Skripte kopieren und Dateinamen anpassen?
 
@pixelflat
user_online.gif


Danke für die antwort

wenn ich es richtig verstanden habe muss ich folgendes tun.


Eine datei erstelen mit der endung ".bat"

dort füge ich folgendes ein


#!/bin/bash

if [[ -z $(screen -ls | grep game_XY_$(id -u)) ]]; then
# session existiert nicht
screen -d -m -S ts3 ./ts3script.sh start
fi



Speicher diese datei ab und uploade sie auf den Linux root in den ordner /etc/init.d/.


mfg
Krystian
 
Nicht ganz. Die Dateiendung kann .bat sein, spielt aber auf Linux keine Rolle. Sie muss nur ausführbar sein (chmod +x datei.bat).

Dein Script musst du noch etwas anpassen:
Code:
#!/bin/bash

if [[ -z $(screen -ls | grep ts3) ]]; then
# session existiert nicht
screen -d -m -S ts3 ./ts3script.sh start
fi

Danach würde ich erst mal schauen ob das Script funktioniert, also noch nicht in /etc/init.d ablegen. Dazu wie gesagt ausführbar machen und starten (./datei.bat).
 
Zuletzt bearbeitet:

Online-Statistiken

Zurzeit aktive Mitglieder
1
Zurzeit aktive Gäste
63
Besucher gesamt
64

Beliebte Forum-Themen

Zurück
Oben Unten