Problem z autorestartem serwera

Pytania i problemy
Vaxter
Vaxter

Witam, otóż chciałbym utworzyć autrestart serwera MC o 1:00. Problem jest taki że gdy dochodzi do wyznaczonej godziny (testowałem na godzinę 11:30) nic się nie dzieje a w katalogu głównym serwera czasami dostaje log hs_err_pid.log

Skrypt startujący

#!/bin/bash

/usr/bin/screen -dmS server java -Xms6G -Xmx6G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar silnik.jar

Skrypt restarujący

#!/bin/bash
 
/usr/bin/screen -dmS server -p 0  -X stuff "stop^M"
sleep 30
cd /home/serwer
bash start.sh

Komenda w cronie

30 11 * * * bash /home/serwer/restart.sh

Timo
Timo Moderator forum.lvlup.pro

Cześć, różnie bywa z tym zatrzymywaniem serwerów Minecraft.

Możesz zrobić to w ten sposób, że proces serwera umieścisz w pętli. Jeśli ulegnie on zakończeniu (stop, crash) to pętla uruchomi go ponownie.

Użyj pętli podobnej jak podana tutaj: https://lvlup.rok.ovh/t/co-zrobic-aby-plik-start-sh-ponownie-wlaczal-moj-serwer-mc/14347/#2?u=timo

Uruchamiasz sobie w trwałym screenie taką pętlę i dodajesz zadanie cron, które o wykonuje samą komendę stop w konsoli.

Vaxter
Vaxter

A komenda do crona to jaka? Bo już kombinuje od rana z tym i nie chce to działać

KrEdEnS
KrEdEnS Moderator Freebies

Spróbuj przejść do danego katalogu i uruchomić skrypt 30 11 * * * cd /home/serwer && ./restart.sh powinno zadziałać :) ewentualnie podziel w cronie zadania i jeden skrypt do stopu, drugi do startu...

Vaxter
Vaxter

Właśnie nic się nie dzieje cały czas

KrEdEnS
KrEdEnS Moderator Freebies

Skrypt ma odpowiednie uprawnienia?

Vaxter
Vaxter

Nadałem

chmod +x restart.sh

A kiedy próbuje wykonać skrypt ręcznie dostaje info

There is a screen on: 1192.server (04/22/21 17:43:36) (Detached) No screen session found. There is a screen on: 1192.server (04/22/21 17:43:36) (Detached) No screen session found.

Vaxter
Vaxter

Okej udało się to naprawić. W skrypcie restartującym zmieniłem -dmS na -S jak dodałem zaczęło wszystko działać. Dziękuje każdemu za poradę

system
system

Ten temat został automatycznie zamknięty 32 dni po ostatnim wpisie. Tworzenie nowych odpowiedzi nie jest już możliwe.