Jump to content

Linux Startscript für mehrere MC-Server im Netzwerk


montbit

Empfohlene Beiträge

Hiho,

ich habe auf meinem PC kleine, rudimentäre Startscripts für jeden einzelnen MC-Server. Bisher funktionierte das gut, wenn auch etwas umständlich. Ein Startscript, das mir die Server alle zusammen nacheinander startet, wäre eine feine Sache.

Dies aus dem Grund - ich kann per Fernwartung mittels SSH den PC updaten, rebooten und mehr. Nach einem Reboot muss ich mich dann mit jedem einzelnen Usernamen einloggen (ssh name@ip + passwort) und dann per Befehl die run.sh starten, damit der jeweilige MC-Server hochfährt.

Das 1. Problem, vor dem ich stehe ist, im Script die Passwortübergabe nach dem Aufruf von ssh user@localhost. Ich will die einzelnen Server nicht über Root zugreifen und starten. Dann gehören die erstellten Dateien dem Root und nicht dem Benutzer. Der Benutzer kann dann eine geänderte config.yml nicht mehr editieren, da ihm die Rechte fehlen.

Das 2. Problem ist, dass das Script nicht weiterläuft, nachdem es einen Server gestartet hat. Erst wenn ich den Server runterfahre, startet das Script den nächsten.

Leider fehlen mir die Grundkenntnisse über "scripten" und wäre froh, wenn mir jemand ein Beispiel und das Gerüst dazu erstellen könnte. Die nötigen Pfade sind dann ein leichtes anzupassen.

Danke im Voraus + lg monti

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke für den Link. Und die Beschreibung, um was es sich da handelt.

Ich fühle mich wie ein Hund, dem man das Futter hinwirft und denkt, da friss.

Ich bin ja schon zu einem gewissem Teil Autodidakt, nicht jedoch unbedingt gut in englischen Texten voller Fachbegriffen, da ich mich mit Müh und Not in englisch Unterhalten kann. Die Zeit, die ich in solche Links investieren muss, um auch nur das wesentlich Wichtige zu finden steht mir in keinem Verhältnis zum Resultat. Da lasse ich es sein und starte die Scripts wie vorher.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 11 months later...

Hallo @montbit,

es ist eigentlich recht simpel...
Als erstes installierst du dir "screen" damit du die einzelnen Server in "Tabs" im Hintergrund lassen lassen kannst...

Aber wenn du schon für deine Server Startscript hast, kannst du zb. über den root User die rc.local editieren und dort vor dem eintrag "exit 0", in jeder Zeile einen Script ausführen die nach dem Root-Neustart ausgeführt werden. Um deine Scripte mit einem speziellem User zu starten schreibst du in deine Zeile/n:

/bin/su USER -c "/usr/bin/screen -dmS SCREENNAME bash -c '/PFAD/ZUR/SCRIPTDATEI; exec bash'"

In die Screens kommst du mit "screen -r SCREENNAME" rein und kannst dort weitermachen wo du aufgehört hast. Aus den Screen kommst du dann mit strg+a+d wieder raus ohne die zu beenden. Falls du nicht direkt in deine Screens rein kommst musst du vorher noch "script /dev/null" eingeben. Um dir anzeigen zulassen welche Screen gerade in einem User laufen kannst du "screen -ls" benutzen.

Ich hoffe ich konnte dir viel weiterhelfen :)

Gruß SBlack08 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...
B
B