Frage von ellihd123, 34

Wie erstelle ich ein Linux Script welches Automatisch einen Ordner mit einem Server kopiert und in einer Config den Port anpasst?

Hallo, Ich möchte ein Linux Script schreiben, welches einen vorher festgelegten Ordner mit einem MC Server in einen neuen Ordner kopiert und in der server.properties den Port auf den nächsten anpasst. ( Die Ports sind festgelegt zB. Port 25501 - 25509)

Ich kann beispielsweise angeben das ich 3 Ordner kopiert haben möchte die jeweil den nächsten Port haben (25501-25503)

So wird zum Beispiel der Ordner MC 3 zu MC1, MC2 & MC3 kopiert und die Server darin per ./start.sh gestartet.

Ist so etwas mit einem Script möglich?

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Linuxhase, 23

Hallo

Wie erstelle ich ein Linux Script .....

Indem Du einen Editor Deiner Wahl nimmst und die notwendigen Kommandos an die Gegebenheiten anpasst. Und wie guenterhalt bereits schrieb stehen Dir neben der bash noch andere Scriptsprachen zur Verfügung.

ein Linux Script schreiben, welches einen vorher festgelegten Ordner mit einem MC Server in einen neuen Ordner kopiert

Mit:

man cp

gibt Dir die Manpage in der man nachlesen kann wie das Programm arbeitet. Könnte dann so aussehen:

cp -vR MC_Server /pfad/wohin/es/soll/neuer_name

in der server.properties den Port auf den nächsten anpasst. ( Die Ports sind festgelegt zB. Port 25501 - 25509)

Hier wäre dann eine for-Schleife denkbar, hier ein ungenaues Beispiel:

#!/bin/bash
for i in $(echo "25501 25502 25503 25504 25505 25506 25507 25508 25509");
do
test -x $i && echo "Verzeichnis $i existiert bereits" || mkdir $i
done

Überprüft ob ein Verzeichnis bereit existiert und falls nicht wird es erstellt.

Nun musst Du nur noch die gegebenen Tipps richtig miteinander verbinden und alles ist wie Du es willst.

Linuxhase

Expertenantwort
von guenterhalt, Community-Experte für Linux, 21

wenn das wirklich eine Frage sein soll, dann gibt  es nur eine Antwort:

Wähle eine Script-Sprache aus, lerne sie zu gebrauchen, schreibe die Codezeilen  auf ein Blatt Papier ( oder gleich auf dem Computer in eine Datei) und teste dein Script.

Mit der Frage, so scheint mir, willst du bestimmt jemanden finden, der dir so ein Script schreibt.

Da erscheint zwar eine relativ leichte Aufgabenstellung zu sein und trotzdem löst man das nicht während der Frühstückspause.

Das Kopieren eines Directories mit cp -r <Quelle> <Ziel> ist der einfachste Schritt.

Für die Port-Verwaltung muss man schon mehr machen:

Merke dir die vergebenen Ports in einer Datei außerhalb der "Server-Ordner", suche eine neue Port-Nummer 1. im Pool, 2. im System (Prüfe, ob diese Nummer bereist benutzt wird - Report von socklist auswerten),
trage so eine bisher frei Port-Nummer in deine Port-Liste ein, ersetze in der Server-Software ( in neuen Ordner) die alte gegen die neue Port-Nummer.

Bereinige die Port-Liste, wenn so eine Port-Nummer wieder frei wird.

Du siehst, das sind nicht nur 3 Befehle, die man dafür aufschreiben und dann auch noch testen muss.

Kommentar von Linuxhase ,

@gueterhalt

Mit der Frage, so scheint mir, willst du bestimmt jemanden finden, der dir so ein Script schreibt.

Genau den Eindruck habe ich auch bei dieser Frage.

Da erscheint zwar eine relativ leichte Aufgabenstellung zu sein und trotzdem löst man das nicht während der Frühstückspause.

Das dauert keine 30 Minuten wenn man alle nötigen Informationen und Pfade kennt und natürlich bash "spricht" ;-)

Linuxhase

Kommentar von guenterhalt ,

Das dauert keine 30 Minuten wenn ....

so dachte ich auch mal. Schon beim Formulieren und Schreiben meiner Antwort habe ich schon 30% dieser Zeit verbraucht. Muss man doch überlegen, was alles bei so einer Aufgabe zu beachten ist. Dabei waren die oben aufgeschriebenen Dinge nur sehr oberflächlich und nicht zu vergleichen mit dem, was man einem Programmierer (auch wenn man es selbst ist) als Aufgabenstellung übergeben kann.

Einer der Planer des BER soll mal etwa folgendes gesagt haben:

"Mache einen Finanz- und Zeitplan, verdreifache alle Zahlen und addiere dort 200% hinzu. Das wird dir niemand abnehmen, du wirst entlassen und deinen Nachfolgern wird es ähnlich gehen.
Wenn du lügst und Zahlen nennst, die man hören will, wirst du mit Schimpf und Schande erst etwas später entlassen."

Antwort
von NexDZN, 3

Eine sehr nette Frage.

Keine passende Antwort gefunden?

Fragen Sie die Community