1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Оптимальный способ делать бекапы мира.

Тема в разделе "Помощь", создана пользователем Iluvator, 16 май 2024.

Метки:
Статус темы:
Закрыта.
  1. Автор темы
    Iluvator

    Iluvator Активный участник Пользователь

    Баллы:
    61
    Как оптимально делать бекапы мира? У нас сервер 1.19.2 на Forge с кучей модов. Для бекапов использую мод "Advanced Backups". Но, мне что то не нравится, как уныло он сохраняет мир. Дифференциальные бекапы весом по 600мб он делает за 4-5 минут. Полный бекап весом в 17гб делает примерно за полтора часа. На сколько я знаю, майнкрафт сервера не особо в многопоток могут, а, следовательно, бекапы нагружают сам сервер + я не до конца выявил в чем проблема некоторых лагов сервера, поэтому хочу исключить из подозреваемых бекапы. Как минимум spark говорит, что во время бекапов MTPS заметно вырастает. Сейчас вообще баг нашел, когда при корректных параметрах конфига "Advanced Backups" нагружает БЕЗ БЕКАПА сервер так, что он останавливается.
    Есть ли инструменты, которые позволяют делать бекапы вне потока сервера? Как вариант, могу сам написать скрипт на Python:
    1) /save-off
    2) Скопировать всю папку мира (На моем железе на это уйдет до 30 секунд времени, а не полтора часа, как у "Advanced Backups")
    3) /save-on
    4) Бекап готов, еще ротацию реализую и все.
     
  2. koten0k

    koten0k Активный участник Пользователь

    Баллы:
    46
    Нужно делать бэкапы в асинхронном потоке, тогда сервер нагружать не будет.
    И если ты хочешь осуществить это как плагин, зачем использовать Python, если майнкрафт написан на Java?
     
  3. FeniksDEV

    FeniksDEV Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Feniksovich
    Выполнять I/O операции (фактически копировать файлы) можно в отдельном потоке. Скорость бекапирования здесь преимущественно зависит от характеристик жесткого диска или что там используется в качестве хранилища. Вообще, как верно подмечено практикой, бекапировать лучше какими-нибудь внешними инструментами, скрипта на баше будет достаточно.
     
  4. Автор темы
    Iluvator

    Iluvator Активный участник Пользователь

    Баллы:
    61
    Понял, спасибо. Мне проще было бы на python написать скрипт, я с ним знаком сильно ближе. Но сейчас узнал, что для меня, собственно, готовый инструмент как раз и есть: https://github.com/itzg/docker-mc-backup
     
Статус темы:
Закрыта.

Поделиться этой страницей