Cron → shell → screen nefunguje

_Jenda

  • *****
  • 1 687
Re:Cron → shell → screen nefunguje
« Odpověď #15 kdy: 17. 04. 2019, 18:47:52 »
Citace od: k3dAR kdy 17. 04. 2019, 01:03:44
Citace od: _Jenda kdy 16. 04. 2019, 23:28:24
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.

Citace od: reddy kdy 17. 04. 2019, 13:02:45
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 »
Citace od: _Jenda kdy 17. 04. 2019, 18:47:52
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 pgrep java || /cesta/java -Xmx1024M -Xms1024M -jar /cesta/minecraft_server.jar nogui

_Jenda

  • *****
  • 1 687
Re:Cron → shell → screen nefunguje
« Odpověď #17 kdy: 17. 04. 2019, 19:27:34 »
Citace od: Jan Fikar kdy 17. 04. 2019, 19:25:49
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 »
Citace od: starejkarlik kdy 17. 04. 2019, 20:29:54
/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. :)