Я конечно понимаю что путь пользователя пв - это путь извращенца, но всему должна быть мера
Что мешает делать бэкап баз в cmd/sh-скрипте запуска сервера?
это же всего лишь по сути пару строк там добавить - в самом простом варианте вызов mysqldump на нужное бд и потом паковка любым подходящим архиватором получившегося дампа...
почему нет то?
если запуск шел через cmd/sh-скрипт, то при рестарте сервера идет просто goto на начало скрипта. конечно если сам сервер при рестарте/выключении возвращает разные коды завершения, по которым и идет выбор того, что делать скрипту.
тут при ручном или авторестарте сервер возвратит код 2 по которому будет произведен goto на метку :restart для выдачи сообщения о рестарте, а потом на метку :start, находящуюся в начале скрипта запуска и пойдет обычный процесс запуска как бы с нуля.
Bash:
@echo off
title Game Server
:start
echo Starting GameServer...
echo.
set JAVA_DIR=c:\Soft\java\jdk17\bin\
set JAVA_OPTS=%JAVA_OPTS% -Xmx4048m
set JAVA_OPTS=%JAVA_OPTS% -XX:TargetSurvivorRatio=90
set JAVA_OPTS=%JAVA_OPTS% -XX:SurvivorRatio=16
set JAVA_OPTS=%JAVA_OPTS% -XX:MaxTenuringThreshold=12
set JAVA_OPTS=%JAVA_OPTS% -XX:UseSSE=3
chcp 65001 > nul
%JAVA_DIR%java -server -Dfile.encoding=UTF-8 %JAVA_OPTS% -cp ./config/xml;./libs/*;./strix-platform/lib/*;gameserver.jar org.strixplatform.StrixPlatform l2p.gameserver.GameServer
if ERRORLEVEL 2 goto restart
if ERRORLEVEL 1 goto error
goto end
:restart
echo.
echo Server restarted ...
echo.
goto start
:error
echo.
echo Server terminated abnormaly...
echo.
:end
echo.
echo Server terminated...
echo.
pause