Discord
Wiki - Serwery

Kopie zapasowe serwera Minecraft

Kopie zapasowe serwera Minecraft

Stracić świat po miesiącach gry to koszmar każdego administratora. Regularne backupy to nie opcja, to obowiazek. Ten poradnik pokaże Ci, jak je skonfigurowac.

Czas czytania: ~12 min Poziom: Średniozaawansowany

Co trzeba backupować?

Serwer Minecraft to nie tylko folder ze światem. Pełny backup obejmuje kilka elementow:

world/ (światy) Foldery światów (world/, world_nether/, world_the_end/ i dodatkowe światy z Multiverse). To najważniejsze i najciezsze pliki. Świat 10000x10000 bloków to 5-15 GB.
plugins/ Cały folder pluginów razem z plikami konfiguracyjnymi. Zawiera .jar pluginów i ich foldery konfiguracyjne (np. plugins/LuckPerms/, plugins/EssentialsX/). Utrata konfiguracji pluginów oznacza konfigurowanie wszystkiego od nowa.
server.properties Główny plik konfiguracyjny serwera. Mały plik, ale zawiera wszystkie ustawienia opisane w poradniku konfiguracji.
*.json Pliki whitelist.json, ops.json, banned-players.json, banned-ips.json. Listy graczy, operatorów i banow.
Bazy danych Jeśli używasz MySQL/MariaDB dla pluginów (LuckPerms, ekonomia, logi), pamiętaj o backupie baz danych osobno (mysqldump).

Czego NIE backupować: Foldery logs/ (logi serwera, można regenerować), cache/ i plik server.jar (pobierzesz nowy). Pominiecie ich znacząco zmniejsza rozmiar backupu.

Strategie backupu

Nie wystarczy robić backup "raz na jakiś czas". Potrzebujesz planu, który chroni przed różnymi scenariuszami:

Zasada 3-2-1

Złoty standard backupów w IT, który sprawdza się również na serwerach Minecraft:

  • 3 kopie danych (orygialy + 2 backupy)
  • 2 różne nosniki (np. dysk serwera + chmura)
  • 1 kopia offsite (poza lokalizacja serwera, np. Google Drive, Backblaze B2)

Częstotliwość backupów

Serwer prywatny (1-10 graczy) Backup co 12-24 godziny. Przechowuj min. 7 ostatnich kopii (tydzień wstecz). Mały ruch = mniej zmian = rzadsze backupy wystarczą.
Serwer publiczny (10-50 graczy) Backup co 4-6 godzin. Przechowuj min. 14 kopii (2-3 dni wstecz). Na aktywnym serwerze w ciagu 6 godzin może się dużo zmienić.
Duży serwer (50+ graczy) Backup co 1-2 godziny. Przechowuj 48+ kopii (2-4 dni wstecz). Przy dużym ruchu nawet godzina bez backupu to potencjalnie duża strata.

Retencja ma znaczenie: Trzymanie tylko ostatniego backupu to zły pomysl. Jeśli griefer zniszczy świat i nie zauważysz tego przez 2 dni, potrzebujesz backupu sprzed zniszzen. Dlatego przechowuj kopie z kilku dni wstecz.

Ręczny backup krok po kroku

Zanim automatyzujesz, naucz się robić backup ręcznie. To przyda się w sytuacjach awaryjnych.

Krok 1: Zapisz świat

Zanim skopiujesz pliki, upewnij się, ze serwer zapisal wszystkie dane na dysk:

# W konsoli serwera: save-all save-off

save-all wymusza zapis wszystkich chunkow i danych graczy. save-off tymczasowo wyłącza automatyczne zapisywanie, żeby pliki nie zmieniły się w trakcie kopiowania.

Krok 2: Skopiuj pliki

Na Linuxie:

# Utwórz folder na backupy mkdir -p /home/minecraft/backups # Skopiuj cały serwer (bez logów i cache) tar -czf /home/minecraft/backups/backup-$(date +%Y%m%d-%H%M%S).tar.gz \ --exclude='logs' \ --exclude='cache' \ --exclude='*.jar' \ -C /home/minecraft/server .

Na Windowsie: kliknij prawym przyciskiem na folder serwera, wybierz "Wyślij do > Folder skompresowany (zip)" lub użyj 7-Zip.

Krok 3: Włącz zapis z powrotem

# W konsoli serwera: save-on

Nie zapomnij o save-on! Jeśli zostawisz automatyczne zapisywanie wyłączone, serwer nie będzie zapisywać postępów graczy na dysk. W razie crashu stracisz wszystko od momentu ostatniego save-all.

Automatyzacja pluginami

Ręczne backupy sa dobre na początek, ale na dluzsza mete potrzebujesz automatyzacji.

DriveBackupV2 (zalecany)

DriveBackupV2 to plugin, który automatycznie tworzy kopie zapasowe i przesyła je do chmury. Obsługuje Google Drive, OneDrive, Dropbox i FTP/SFTP.

  • Automatyczne backupy co X minut/godzin
  • Upload do Google Drive, OneDrive lub Dropbox
  • Rotacja kopii (automatyczne usuwanie starych backupów)
  • Backup światów, pluginów i plików konfiguracyjnych osobno
  • Powiadomienia na Discordzie przez webhook
# Konfiguracja w config.yml DriveBackupV2: # schedule-interval: 240 (co 4 godziny) # keep-count: 14 (ostatnie 14 kopii) # google-drive: # enabled: true # folder-id: "ID_FOLDERU_GOOGLE_DRIVE" # Komendy: /drivebackup backup # Natychmiastowy backup /drivebackup status # Status ostatniego backupu /drivebackup list # Lista kopii

eBackup (darmowy)

eBackup to prostsza alternatywa, która tworzy backupy na dysku lokalnym. Nie obsługuje chmury, ale jest lżejsza i prostsza w konfiguracji. Dobra na start, jeśli jeszcze nie masz konta chmurowego.

ServerUtils Backup

Wiele paneli serwerowych (Pterodactyl, AMP, Multicraft) ma wbudowane systemy backupow. Jeśli używasz panelu, sprawdź jego opcje zanim zainstalujesz plugin.

Automatyzacja skryptami systemowymi

Jeśli wolisz pełna kontrole nad procesem backupu, skrypt bash + cron to solidne rozwiązanie. Działa niezależnie od pluginów i serwera Minecraft.

Skrypt backupu (Linux)

#!/bin/bash # backup-minecraft.sh SERVER_DIR="/home/minecraft/server" BACKUP_DIR="/home/minecraft/backups" DATE=$(date +%Y%m%d-%H%M%S) KEEP_DAYS=7 # Wyślij komendę save do serwera przez screen/tmux screen -S minecraft -p 0 -X stuff "save-all$(printf '\r')" sleep 5 screen -S minecraft -p 0 -X stuff "save-off$(printf '\r')" sleep 2 # Utwórz backup tar -czf "$BACKUP_DIR/backup-$DATE.tar.gz" \ --exclude='logs' \ --exclude='cache' \ --exclude='*.jar' \ -C "$SERVER_DIR" . # Włącz zapis z powrotem screen -S minecraft -p 0 -X stuff "save-on$(printf '\r')" # Usuń backupy starsze niż X dni find "$BACKUP_DIR" -name "backup-*.tar.gz" -mtime +$KEEP_DAYS -delete echo "Backup zakonczony: backup-$DATE.tar.gz"

Cron job

# Otwórz crontab crontab -e # Dodaj backup co 4 godziny 0 */4 * * * /home/minecraft/backup-minecraft.sh >> /home/minecraft/backup.log 2>&1

Skrypt używa screen do wysyłania komend do uruchomionego serwera. Jeśli używasz tmux, zamień screen -S minecraft -p 0 -X stuff na odpowiednik tmux send-keys -t minecraft.

Upload do chmury (opcjonalny)

# rclone - uniwersalne narzędzie do synchronizacji z chmura # Instalacja: curl https://rclone.org/install.sh | sudo bash # Konfiguracja: rclone config # Upload po backupie (dodaj na końcu skryptu): rclone copy "$BACKUP_DIR/backup-$DATE.tar.gz" gdrive:minecraft-backups/

rclone obsługuje Google Drive, Dropbox, OneDrive, Amazon S3, Backblaze B2 i dziesiątki innych uslug. Konfiguracja jednorazowa przez rclone config.

Gdzie przechowywać kopie

Dysk lokalny Najszybsze tworzenie i przywracanie. Ale jeśli dysk padnie, tracisz serwer i backup jednoczesnie. Używaj jako pierwsza linie obrony, ale nie jako jedyna kopie.
Google Drive (15 GB za darmo) Darmowe 15 GB wystarczy na kilka backupów mniejszego serwera. Integracja przez DriveBackupV2 lub rclone. Więcej miejsca za 8,99 zl/mies. (100 GB).
Backblaze B2 Najtańsza chmura na backupy. $0.005/GB/mies. = 50 GB za ok. 1 zl/mies. Świetne do dlugookresowego przechowywania. Integracja przez rclone.
Drugi serwer / VPS Jeśli masz drugi serwer, synchronizuj backupy przez rsync lub scp. Pełna kontrola nad danymi, ale wymaga utrzymywania dwóch maszyn.
Dysk zewnętrzny (self-hosted) Podłącz dysk USB do komputera z serwerem. Prosty i tani sposób na kopie offsite. Wada: jezli w domu jest pożar lub kradzież, tracisz obie kopie.

Przywracanie z kopii zapasowej

Backup jest bezwartościowy, jeśli nie umiesz z niego przywrócić danych. Oto procedura:

  1. Wyłącz serwer - nigdy nie przywracaj plików na uruchomionym serwerze. Użyj komendy /stop w konsoli.
  2. Zrób kopie aktualnego stanu - nawet jeśli serwer jest uszkodzony, zrób kopie obecnych plikow. Może się okazac, ze w backupie brakuje czegoś, co da się odzyskać z bieżących danych.
  3. Rozpakuj backup do folderu tymczasowego:
    mkdir /tmp/restore tar -xzf /home/minecraft/backups/backup-20260317-120000.tar.gz -C /tmp/restore
  4. Skopiuj potrzebne pliki - nie musisz przywracać wszystkiego. Jeśli problem dotyczy tylko jednego świata, skopiuj tylko folder tego świata. Jeśli uszkodził się plugin, przywróć tylko jego konfiguracje.
    # Przywróć tylko główny świat cp -r /tmp/restore/world/ /home/minecraft/server/world/ # Przywróć cały serwer cp -r /tmp/restore/* /home/minecraft/server/
  5. Uruchom serwer i zweryfikuj, czy wszystko działa poprawnie. Sprawdź logi pod katem błędów.

Wskazówka: Jeśli przywracasz tylko świat (bez pluginów), dane CoreProtect i innych pluginów loguacych mogą być nowsze niż przywrócony świat. To może powodować niespojnosci. W takim przypadku rozważ tez przywrócenie bazy danych CoreProtect.

Testowanie backupów

Backup, którego nie testowales, to backup, który może nie działać. Raz na miesiąc (minimum raz na kwartał) przetestuj procedure przywracania:

  • Rozpakuj najnowszy backup na osobny folder
  • Uruchom serwer z tego folderu na innym porcie
  • Dołącz i sprawdź, czy świat wyglada poprawnie
  • Zweryfikuj, ze pluginy laduja się bez błędów
  • Sprawdź, czy dane graczy (ekwipunek, rangi, ekonomia) sa aktualne
# Testuj backup na innym porcie (zmień w server.properties) # server-port=25566 # Dołącz przez localhost:25566

Jeśli test wypadnie pozytywnie, masz pewność, ze w razie awarii przywrocisz serwer w kilka minut. Jeśli nie, napraw problem teraz, nie w sytuacji kryzysowej.

Co dalej?

Backupy to fundament bezpieczeństwa serwera. Żeby być w pełni przygotowanym, zadbaj tez o:

Komentarze