PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : automatisches Backup System - Minecraft



Tevio
11.05.11, 09:52
Hallo Leute,

ich habe zZ einen Minecraft Server laufen.
Den Deamon dazu habe ich als screen detached im Hintergrund laufen.
Nun wollte ich mir ein kleines Backup script schreiben, stoße hierbei aber auf ein Problem :/

mein Ziel:
- Minecraft Server stoppen
- den ordner "world" als backup speichern
- minecraft wieder im screen starten
- screen wieder detachen

scheitern tuts am ende, hier taucht mein Problem auf.

Einen screen detache ich ja mit STRG+A+D, wie bringe ich das aber auf die Konsole?
Ich muss ihn detachen, da Minecraft ne eigene Konsole mit eigenen Befehlen startet wenn man den Deamon startet.
Hat da jemand ne Idee?

mfg
Tevio

quinte17
11.05.11, 10:29
aus der manpage zu screen:


-d|-D [pid.tty.host]
does not start screen, but detaches the elsewhere running screen
session. It has the same effect as typing "C-a d" from screen's
controlling terminal. -D is the equivalent to the power detach
key. If no session can be detached, this option is ignored. In
combination with the -r/-R option more powerful effects can be
achieved:

-d -r Reattach a session and if necessary detach it first.

-d -R Reattach a session and if necessary detach or even create it
first.

-d -RR Reattach a session and if necessary detach or create it. Use
the first session if more than one session is available.

Tevio
11.05.11, 12:40
vielen Dank erstmal

allerdings schließe ich aus dem sytax, das ich die id des screens mit angeben muss, oder etwa doch nicht?

der befehl um minecraft zu starten ist unter linux

java -Xms1024M -Xmx1024M minecraft-server.jar
wäre es möglich einfach

screen -d java -Xms1024M -Xmx1024M minecraft-server.jar
zu schreiben?

edit:

ok ich habs hinbekommen =D

vlt hat jemand das selbe/ein ähnliches Problen, hier meine Lösung dazu:

man braucht 2 skripte
das 1. script enthält

screen -s miencraft -Xms1024M -Xmx1024M minecraft-server.jar

das 2. skript enthält

screen -d minecraft

DrunkenFreak
11.05.11, 20:41
Anstatt screen wäre nohup auch eine Lösung. Lässt sich ein bisschen einfacher Skripten


nohup minecraft > minecraft.log 2>&1 &

Dann nur noch die PID suchen, mit der Minecraft ausgeführt wird und mit einem kill den Kram beenden.