Cron → shell → screen nefunguje

_Jenda

  • *****
  • 737
    • Zobrazit profil
    • https://jenda.hrach.eu/
    • E-mail
Re:Cron → shell → screen nefunguje
« Odpověď #15 kdy: 17. 04. 2019, 18:47:52 »
Chodí ti z cronu maily?
pochybuju, protoze jinak by kazdou minutu dorazel mail od cronu "Server is running" :-)
To byla návodná otázka, protože když si to rozchodí, mohla by mu přijít nějaký chyba, ze které půjde zjistit, co s tím je.

Já osobně tyhle věci řeším následovně, script spouštím cronem každou minutu.
Screen se hodí pokud ten server má konzoli (nevím jestli je to případ Minecraftu), na kterou se dá připojit a něco dělat. Já takhle provozuju třeba interaktivního instant messaging klienta.


Re:Cron → shell → screen nefunguje
« Odpověď #16 kdy: 17. 04. 2019, 19:25:49 »
Screen se hodí pokud ten server má konzoli (nevím jestli je to případ Minecraftu) ...

je, ale třeba to není potřeba?

jinak nechápu, co za cron zabíjí jednou denně screen? mi screen běží týdny a nic ho nikdy nezabíjí

nevysype se náhodou jen ten minecraft server? pak by se to testovalo třeba
Kód: [Vybrat]
pgrep java || /cesta/java -Xmx1024M -Xms1024M -jar /cesta/minecraft_server.jar nogui

_Jenda

  • *****
  • 737
    • Zobrazit profil
    • https://jenda.hrach.eu/
    • E-mail
Re:Cron → shell → screen nefunguje
« Odpověď #17 kdy: 17. 04. 2019, 19:27:34 »
jinak nechápu, co za cron zabíjí jednou denně screen? mi screen běží týdny a nic ho nikdy nezabíjí
Já to pochopil tak, že ten minecraft potřebuje jednou za den restartovat (třeba memory leaky).

Re:Cron → shell → screen nefunguje
« Odpověď #18 kdy: 17. 04. 2019, 19:33:47 »
aha, to by mohlo být
no stejně by bylo asi lepší zabít javu, screen nechat a pro běh testovat přímo tu javu třebas tím pgrep

Re:Cron → shell → screen nefunguje
« Odpověď #19 kdy: 17. 04. 2019, 20:29:54 »
Zkus spouštět Minecraft ve skriptu takto:

/usr/bin/screen -d -m sh -c "/usr/bin/java -Xmx768M -Xms768M -jar /Minecraft/minecraft_server.1.8.1.jar nogui"

Samozřejmě uprav absolutní cesty /usr/bin/java a /Minecraft/minecraft_server.1.8.1.jar podle skutečnosti.

Taky můžeš zkusit nahradit screen programem tmux, který dělá to samé:
https://gist.github.com/Jofkos/86a4936c91999082d6a7




Re:Cron → shell → screen nefunguje
« Odpověď #20 kdy: 23. 04. 2019, 13:37:50 »
/usr/bin/screen -d -m sh -c "/usr/bin/java -Xmx768M -Xms768M -jar /Minecraft/minecraft_server.1.8.1.jar nogui"

Ani takto ne. Neměl by tam být ten parametr -dmS, aby se to spustilo jako démon? :)


Stále to reaguje je aktivní jen v tu chvíli, co se to spuští.. Spustí se terminál toho screenu, načte se mapa a ve chvíli, kdy už to nic nedělá nenačítá se to jakoby vypne.


A pro ostatní, aby bylo jasno, proč to řeším.. Občas se tam udělají memory leaky a tak je potřeba to jednou za den restartovat. Takže to cronem řeším tak, že se to asi o půl pátý ráno vypne a cron by to zase měl nahodit zpět. A pokud by došlo k pádu v průběhu dne (přetížení, chyba, ...) a ten screen se vypnul, aby to ten cron (co se spouští každou minutu) zase nahodil. :)

Re:Cron → shell → screen nefunguje [Vyřešeno]
« Odpověď #21 kdy: 23. 04. 2019, 14:38:15 »
Vyřešeno!!!

Zjistila jsem problém, že ten Minecraft server vyžaduje eula=true.. To jsem měla, ale když jsem spouštěla přes cron, tak ten soubor s eula to neznalo, protože byl relativně umístěn.. Stačilo na začátku dát něco jako:

cd /var/Minecraft_server/

Protože v tomto umístění se ten soubor vyskytoval...
A problém vyřešen.. :)

Děkuji všem za čas a nápady. :)