SSH2 & Sed

gmspace

Grünschnabel
Hi,
Ich hab mal folgende frage, undzwar:
Ich habe ein Minecraft Webinterface geschrieben, alles geht soweit.
Nur der Config Editor nicht.
Ich will machen, dass man die Minecraft server.properties Lesen kann und dann bearbeiten kann.
Das kann ich auch verwirklichen.
Nur jetzt soll er gucken, am besten per Cronjob auf dem Server, wie die zeile "server-ip=" aussieht.
Wenn "server-ip=109.90.37.70" (beispielsweise) ist, soll er nichts machen, wenn sie anders ist (else) soll er sie ersetzen.(Ich dachte hier an "ssh2_exec($con, "sed befehl");".
Wie kann man das wohl werwirklichen(Den Cronjob, wenn möglich in PHP).
 
Der Chronjob wird ja nicht von PHP ausgeführt, soweit ich weiß.
Die eigentliche Arbeit kann aber ein PHP-Script übernehmen. Du kannst die Datei ja einlesen und mittels einem Suchmuster die IP auslesen. Ein Replace sollte - wenn nötig - wohl keine Kunst sein...

Wie du einen Chronjob einrichtest kann ich dir nicht sagen, aber google sollte helfen...
 
Hi,

wie wäre ein simpler Cronjob im System komplett als Shellscript? Somit entfällt der Umweg über PHP.

Bash:
#/bin/sh -e

MC_CONFIG=/home/minecraft/server.properties
IP_OK=123.123.123.123

CUR_IP=`/usr/bin/awk -F= '/server-ip/ {print $2}' "$MC_CONFIG"`

if [ "$CUR_IP" != "$IP_OK" ]; then
    /bin/sed -i -e "s/$CUR_IP/$IP_OK/" "$MC_CONFIG"
fi

exit 0

Die beiden ersten Variablen halt noch an deine Bedürfnisse anpassen, fertig.

// Edit: Natürlich kannst du das Script auch auf einen anderen Server legen und dann über dein ssh2_exec() dieses ausführen. ;)

Grüße,
BK
 
Zuletzt bearbeitet:
Zurück