You are not logged in.

Tyrargo

Beginner

  • "Tyrargo" started this thread

Posts: 33

wcf.user.option.userOption53: Nein

  • Send private message

1

Thursday, July 5th 2012, 3:33pm

screen zu cronjob hinzufügen

Ich starte meine Gameserver per screen.

Kann ich die screen-namen irgendwie in einen cronjob einfügen, dass die server täglich nachts neugestartet werden?

GeNeRaLbEaM

Professional

Posts: 1,537

Location: Krefeld

Occupation: Student

wcf.user.option.userOption53: Nein

  • Send private message

2

Thursday, July 5th 2012, 5:17pm

Schau mal hier : LINK
Unter Punkt 6) habe ich mal beschrieben wie man es normalerweise macht ( in dem Fall für HLStatsX)
dort dann einfach anstatt : ./hlstats-awards.pl führst dann den Befehl aus, wie Du auch den Gameserver startest. [ ./ gameserver.sh restart ]
Ansonsten kannst DU auch bestimmt Hilfe in den Distributionsforen Deines Betriebssystems nachschauen. I.d.R wird doch auch alles haarklein erklärt.
Edit : --> Post von MadMakz beachten.
LG
GeNeRaLbEaM

Wer Rechtschreibfehler findet, darf sie behalten.

MadMakz

Super Moderator

Posts: 1,878

Location: ~#

wcf.user.option.userOption53: Ja

  • Send private message

3

Thursday, July 5th 2012, 5:18pm

screen -S <name>

Tyrargo

Beginner

  • "Tyrargo" started this thread

Posts: 33

wcf.user.option.userOption53: Nein

  • Send private message

4

Thursday, July 5th 2012, 5:35pm

Aber der screen mit dem Namen war1 läuft ja. Woher weiß screen, dass es diesen nun neu starten soll?!

der cronjob müsste ja wie folgt aussehen, oder:

0 5 * * * screen -S war1

Ich nutze ja kein startscript für die server.

MadMakz

Super Moderator

Posts: 1,878

Location: ~#

wcf.user.option.userOption53: Ja

  • Send private message

5

Thursday, July 5th 2012, 5:54pm

wenn dieser screen noch läuft musst du ihn vorher beenden

screen -S <name> -X quit

Source code

1
0 5 * * * screen -S war1 -X quit && screen -AmdS war1 ./srcds_run....

Tyrargo

Beginner

  • "Tyrargo" started this thread

Posts: 33

wcf.user.option.userOption53: Nein

  • Send private message

6

Thursday, July 5th 2012, 8:42pm

Jetzt hängt es nur noch am Verzeichnis... der Server läuft unter /home/css/warserver/1/css also dort wird er gestartet mit ./srcds_run

Muss es also heißen:
0 5 * * * screen -S war1 -X quit && screen -AmdS war1 /home/css/warserver/1/css/./srcds_run ... ?

MadMakz

Super Moderator

Posts: 1,878

Location: ~#

wcf.user.option.userOption53: Ja

  • Send private message

7

Thursday, July 5th 2012, 8:57pm

Jetzt hängt es nur noch am Verzeichnis... der Server läuft unter /home/css/warserver/1/css also dort wird er gestartet mit ./srcds_run

Muss es also heißen:
0 5 * * * screen -S war1 -X quit && screen -AmdS war1 /home/css/warserver/1/css/./srcds_run ... ?

Source code

1
cd /home/css/warserver/1/css/ ; screen -S war1 -X quit ; screen -AmdS war1 ./srcds_run....

Tyrargo

Beginner

  • "Tyrargo" started this thread

Posts: 33

wcf.user.option.userOption53: Nein

  • Send private message

8

Thursday, July 5th 2012, 9:08pm

Vielen Dank für die Hilfe!

MadMakz

Super Moderator

Posts: 1,878

Location: ~#

wcf.user.option.userOption53: Ja

  • Send private message

9

Thursday, July 5th 2012, 9:17pm

trotzdem mal die frage wieso kein runscript und einfach einen cron
/pfad/1234/mein/server/meinrunscript.sh restart ?
im wiki gibt es glaube ich 1-2 scripte.

Tyrargo

Beginner

  • "Tyrargo" started this thread

Posts: 33

wcf.user.option.userOption53: Nein

  • Send private message

10

Thursday, July 5th 2012, 10:08pm

Weil ich mich bis jetzt noch nicht damit beschäftigt hatte. Aber werd es mir mal anschauen. Einfacher ist es natürlich.

DeaD_EyE

Administrator

Posts: 3,980

Location: Hagen

Occupation: Mechatroniker (didaktische Systeme)

wcf.user.option.userOption53: Nein

  • Send private message

11

Friday, July 6th 2012, 1:44am


Source code

1
cd /home/css/warserver/1/css/ ; screen -S war1 -X quit ; screen -AmdS war1 ./srcds_run....


Funktioniert auch so.

Source code

1
screen -S war1 -X quit ; screen -AmdS war1 /home/css/warserver/1/css/srcds_run....

Das es so geht, könnt ihr euch bei Ulrich bedanken. Er hat in der HLDS-Mailing-List den Vorschlag gemacht, dass das shellscript srcds_run automatisch in das Serververzeichnis wechselt, wodurch der Wechsel durch andere Scripte in das Serververzeichnis nicht mehr notwendig ist.

Diese Funktion bei CS:GO sorgt dafür, dass in das Verzeichnis gewechselt wird:

Source code

1
2
3
4
5
get_srcds_dir() {
                SRCDS_DIR=`dirname $0`
                cd $SRCDS_DIR
                SRCDS_DIR=`pwd`
}


Die beiden Befehle pushd und popd hab ich wegen der Übersicht entfernt. Beim srcds_run von CS:S sieht es noch etwas anders aus:

Source code

1
cd "`dirname "$0"`"


Im srcds_run von CS:GO ist noch ein Fehler drin. Bei Verzeichnissen mit Leezeichen würde das Startscript von CS:GO nicht in das Verzeichnis wechseln können.
Normal müsste es so lauten:

Source code

1
2
3
4
5
get_srcds_dir() {
                SRCDS_DIR="`dirname "$0"`"
                cd "$SRCDS_DIR"
                SRCDS_DIR="`pwd`"
}


Shellscripts sind ganz schön HÄSSLICH! big-lol
Wenn man es auf die Spitze treibt, blickt da kein Mensch mehr durch.

MadMakz

Super Moderator

Posts: 1,878

Location: ~#

wcf.user.option.userOption53: Ja

  • Send private message

12

Friday, July 6th 2012, 3:31pm

ich mache eigentlich immer ein "cd". dann wird der eintrag nicht so lang falls ich in einem rutsch mehrere scripte aus diesem verzeichniss ausführen möchte, somit also die möglichkeit es immer sauber zu erweitern.
und ich sehe schneller wozu der cron gehört wenn der ordner gleich am anfang steht.
aber eigentlich fühle ich mich dann am sichersten das ein script dann immer funktioniert. ich selber bin nämlich auch ein "relativ"-pfad coder^^

This post has been edited 1 times, last edit by "MadMakz" (Jul 6th 2012, 3:48pm)


Similar threads