T

TinyWorld Backup

Категория проекта: Ожидает модерации

TinyWorldBackup - 🛡️ Резервное копирование сервера Minecraft Bedrock 🛡

Go License Build Status

Автоматизированный скрипт на языке Go для резервного копирования мира сервера Minecraft Bedrock Dedicated Server с поддержкой уведомлений через Telegram.

📋 Содержание

Возможности

  • Автоматическое резервное копирование: Создает копию папки мира Minecraft каждые час.
  • Управление хранением: Хранит резервные копии в течение 7 дней, автоматически удаляя старые.
  • Уведомления через Telegram: Отправляет детализированные отчеты о процессе резервного копирования.
  • Кроссплатформенность: Работает на Linux, Windows и macOS.
  • Простота настройки: Использует переменные окружения для конфигурации.

🔧 Требования

  • Go: Версия 1.16 или выше. Установка Go
  • Telegram-аккаунт: Для создания и использования Telegram-бота.
  • Доступ к серверу Minecraft Bedrock Dedicated Server.

🚀 Установка

  1. Склонируйте репозиторий:

    git clone https://github.com/ваш-репозиторий/minecraft-bedrock-backup.git
    cd minecraft-bedrock-backup
  2. Скомпилируйте проект:

    go build -o backup

    Это создаст исполняемый файл backup в текущей директории.

️ Настройка

Переменные окружения

Проект использует переменные окружения для хранения конфиденциальных данных и конфигурации. Убедитесь, что они установлены перед запуском скрипта.

Переменная Описание
TELEGRAM_BOT_TOKEN Токен вашего Telegram-бота
TELEGRAM_CHAT_ID Ваш уникальный Chat ID для получения сообщений

Пример установки переменных окружения в Linux:

export TELEGRAM_BOT_TOKEN=your_bot_token_here 
export TELEGRAM_CHAT_ID=your_chat_id_here

Создание Telegram-бота

  1. Создайте бота через @BotFather:

    • Откройте Telegram и найдите бота @BotFather.
    • Отправьте команду /start, затем /newbot.
    • Следуйте инструкциям для создания нового бота.
    • Сохраните полученный токен API.
  2. Получите ваш Chat ID:

    • Добавьте созданного бота в свой Telegram.

    • Отправьте любое сообщение этому боту.

    • Перейдите по URL, заменив YOUR_BOT_TOKEN на токен вашего бота:

      https://api.telegram.org/botYOUR_BOT_TOKEN/getUpdates
    • В полученном JSON-ответе найдите ваш chat_id.

💡 Использование

  1. Убедитесь, что переменные окружения установлены:

    export TELEGRAM_BOT_TOKEN=your_bot_token_here
    export TELEGRAM_CHAT_ID=your_chat_id_here
  2. Запустите скрипт:

    ./backup

    Скрипт начнет выполнять резервное копирование мира Minecraft каждый час и отправлять отчеты в Telegram.

🔄 Запуск как сервис

Для обеспечения постоянной работы скрипта рекомендуется настроить его как системный сервис. Ниже приведен пример настройки для systemd на Linux.

  1. Создайте файл сервиса:

    sudo nano /etc/systemd/system/mc-backup.service
  2. Добавьте следующий контент:

    [Unit]
    Description=Сервис резервного копирования сервера Minecraft Bedrock
    After=network.target
    
    [Service]
    ExecStart=/path/to/your/backup
    Restart=always
    User=yourusername
    WorkingDirectory=/path/to/minecraft
    Environment="TELEGRAM_BOT_TOKEN=your_bot_token_here"
    Environment="TELEGRAM_CHAT_ID=your_chat_id_here"
    
    [Install]
    WantedBy=multi-user.target

    Замените /path/to/your/backup на путь к исполняемому файлу backup, yourusername на ваше имя пользователя, и /path/to/minecraft на рабочую директорию сервера Minecraft.

  3. Перезагрузите systemd и запустите сервис:

    sudo systemctl daemon-reload
    sudo systemctl enable mc-backup.service
    sudo systemctl start mc-backup.service
  4. Проверьте статус сервиса:

    sudo systemctl status mc-backup.service

📝 Лицензия

Этот проект лицензирован под лицензией MIT.

🤝 Вклад

Мы приветствуем вклады в развитие проекта! Если вы нашли ошибку или хотите предложить улучшение, пожалуйста, создайте issue или отправьте pull request.

Шаги для вклада:

  1. Форкните репозиторий.

  2. Создайте новую ветку для вашей фичи или исправления:

    git checkout -b feature/НазваниеФичи
  3. Внесите необходимые изменения и зафиксируйте их:

    git commit -m "Добавлена новая фича"
  4. Отправьте изменения в ваш форк:

    git push origin feature/НазваниеФичи
  5. Откройте Pull Request в оригинальный репозиторий.

📞 Контакты

Если у вас возникли вопросы или предложения, вы можете связаться со мной через Telegram или создать issue в репозитории.