Kopie zapasowe serwera Minecraft
Stracic swiat po miesiacach gry to koszmar kazdego administratora. Regularne backupy to nie opcja, to obowiazek. Ten poradnik pokaze Ci, jak je skonfigurowac.
Co trzeba backupowac?
Serwer Minecraft to nie tylko folder ze swiatem. Pelny backup obejmuje kilka elementow:
world/, world_nether/, world_the_end/ i dodatkowe swiaty z Multiverse). To najwazniejsze i najciezsze pliki. Swiat 10000x10000 blokow to 5-15 GB. .jar pluginow i ich foldery konfiguracyjne (np. plugins/LuckPerms/, plugins/EssentialsX/). Utrata konfiguracji pluginow oznacza konfigurowanie wszystkiego od nowa. whitelist.json, ops.json, banned-players.json, banned-ips.json. Listy graczy, operatorow i banow. mysqldump). Czego NIE backupowac: Foldery logs/ (logi serwera, mozna regenerowac), cache/ i plik server.jar (pobierzesz nowy). Pominiecie ich znacząco zmniejsza rozmiar backupu.
Strategie backupu
Nie wystarczy robic backup "raz na jakis czas". Potrzebujesz planu, ktory chroni przed roznymi scenariuszami:
Zasada 3-2-1
Zloty standard backupow w IT, ktory sprawdza sie rowniez na serwerach Minecraft:
- 3 kopie danych (orygialy + 2 backupy)
- 2 rozne nosniki (np. dysk serwera + chmura)
- 1 kopia offsite (poza lokalizacja serwera, np. Google Drive, Backblaze B2)
Czestotliwosc backupow
Retencja ma znaczenie: Trzymanie tylko ostatniego backupu to zly pomysl. Jesli griefer zniszczy swiat i nie zauważysz tego przez 2 dni, potrzebujesz backupu sprzed zniszzen. Dlatego przechowuj kopie z kilku dni wstecz.
Reczny backup krok po kroku
Zanim automatyzujesz, naucz sie robic backup recznie. To przyda sie w sytuacjach awaryjnych.
Krok 1: Zapisz swiat
Zanim skopiujesz pliki, upewnij sie, 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 wylacza automatyczne zapisywanie, zeby pliki nie zmienily sie w trakcie kopiowania.
Krok 2: Skopiuj pliki
Na Linuxie:
# Utworz folder na backupy
mkdir -p /home/minecraft/backups
# Skopiuj caly serwer (bez logow 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 "Wyslij do > Folder skompresowany (zip)" lub uzyj 7-Zip.
Krok 3: Wlacz zapis z powrotem
# W konsoli serwera:
save-on Nie zapomnij o save-on! Jesli zostawisz automatyczne zapisywanie wylaczone, serwer nie bedzie zapisywac postepow graczy na dysk. W razie crashu stracisz wszystko od momentu ostatniego save-all.
Automatyzacja pluginami
Reczne backupy sa dobre na poczatek, ale na dluzsza mete potrzebujesz automatyzacji.
DriveBackupV2 (zalecany)
DriveBackupV2 to plugin, ktory automatycznie tworzy kopie zapasowe i przesyla je do chmury. Obsluguje 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 backupow)
- Backup swiatow, pluginow 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, ktora tworzy backupy na dysku lokalnym. Nie obsluguje chmury, ale jest lzejsza i prostsza w konfiguracji. Dobra na start, jesli jeszcze nie masz konta chmurowego.
ServerUtils Backup
Wiele paneli serwerowych (Pterodactyl, AMP, Multicraft) ma wbudowane systemy backupow. Jesli uzywasz panelu, sprawdz jego opcje zanim zainstalujesz plugin.
Automatyzacja skryptami systemowymi
Jesli wolisz pelna kontrole nad procesem backupu, skrypt bash + cron to solidne rozwiazanie. Dziala niezaleznie od pluginow 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
# Wyslij komende 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
# Utworz backup
tar -czf "$BACKUP_DIR/backup-$DATE.tar.gz" \
--exclude='logs' \
--exclude='cache' \
--exclude='*.jar' \
-C "$SERVER_DIR" .
# Wlacz zapis z powrotem
screen -S minecraft -p 0 -X stuff "save-on$(printf '\r')"
# Usun backupy starsze niz X dni
find "$BACKUP_DIR" -name "backup-*.tar.gz" -mtime +$KEEP_DAYS -delete
echo "Backup zakonczony: backup-$DATE.tar.gz" Cron job
# Otworz crontab
crontab -e
# Dodaj backup co 4 godziny
0 */4 * * * /home/minecraft/backup-minecraft.sh >> /home/minecraft/backup.log 2>&1 Skrypt uzywa screen do wysylania komend do uruchomionego serwera. Jesli uzywasz tmux, zamien screen -S minecraft -p 0 -X stuff na odpowiednik tmux send-keys -t minecraft.
Upload do chmury (opcjonalny)
# rclone - uniwersalne narzedzie do synchronizacji z chmura
# Instalacja: curl https://rclone.org/install.sh | sudo bash
# Konfiguracja: rclone config
# Upload po backupie (dodaj na koncu skryptu):
rclone copy "$BACKUP_DIR/backup-$DATE.tar.gz" gdrive:minecraft-backups/ rclone obsluguje Google Drive, Dropbox, OneDrive, Amazon S3, Backblaze B2 i dziesiatki innych uslug. Konfiguracja jednorazowa przez rclone config.
Gdzie przechowywac kopie
rsync lub scp. Pelna kontrola nad danymi, ale wymaga utrzymywania dwoch maszyn. Przywracanie z kopii zapasowej
Backup jest bezwartosciowy, jesli nie umiesz z niego przywrocic danych. Oto procedura:
- Wylacz serwer - nigdy nie przywracaj plików na uruchomionym serwerze. Uzyj komendy
/stopw konsoli. - Zrob kopie aktualnego stanu - nawet jesli serwer jest uszkodzony, zrob kopie obecnych plikow. Moze sie okazac, ze w backupie brakuje czegos, co da sie odzyskac z biezacych danych.
- Rozpakuj backup do folderu tymczasowego:
mkdir /tmp/restore tar -xzf /home/minecraft/backups/backup-20260317-120000.tar.gz -C /tmp/restore - Skopiuj potrzebne pliki - nie musisz przywracac wszystkiego. Jesli problem dotyczy tylko jednego swiata, skopiuj tylko folder tego swiata. Jesli uszkodzil sie plugin, przywroc tylko jego konfiguracje.
# Przywroc tylko glowny swiat cp -r /tmp/restore/world/ /home/minecraft/server/world/ # Przywroc caly serwer cp -r /tmp/restore/* /home/minecraft/server/ - Uruchom serwer i zweryfikuj, czy wszystko dziala poprawnie. Sprawdz logi pod katem bledow.
Wskazowka: Jesli przywracasz tylko swiat (bez pluginow), dane CoreProtect i innych pluginow loguacych moga byc nowsze niz przywrocony swiat. To moze powodowac niespojnosci. W takim przypadku rozważ tez przywrocenie bazy danych CoreProtect.
Testowanie backupow
Backup, ktorego nie testowales, to backup, ktory moze nie dzialac. Raz na miesiac (minimum raz na kwartal) przetestuj procedure przywracania:
- Rozpakuj najnowszy backup na osobny folder
- Uruchom serwer z tego folderu na innym porcie
- Dolacz i sprawdz, czy swiat wyglada poprawnie
- Zweryfikuj, ze pluginy laduja sie bez bledow
- Sprawdz, czy dane graczy (ekwipunek, rangi, ekonomia) sa aktualne
# Testuj backup na innym porcie (zmien w server.properties)
# server-port=25566
# Dolacz przez localhost:25566 Jesli test wypadnie pozytywnie, masz pewnosc, ze w razie awarii przywrocisz serwer w kilka minut. Jesli nie, napraw problem teraz, nie w sytuacji kryzysowej.
Co dalej?
Backupy to fundament bezpieczenstwa serwera. Zeby byc w pelni przygotowanym, zadbaj tez o:
- Ochrone serwera przed griefingiem, cheaterami i atakami.
- Migracje serwera, gdybys potrzebowal zmienic hosting.
- Konfiguracje server.properties dla optymalnego dzialania.
- System rang i uprawnien przez LuckPerms.
- Zarzadzanie swiatami za pomoca Multiverse.
- Optymalizacje wydajnosci, zeby serwer dzialal bez lagow.
Komentarze