Tworzenie i przywracanie kopii zapasowych serwera Minecraft

Kopia zapasowa to różnica między drobną wpadką a utratą miesięcy pracy. Mimo to wielu administratorów serwerów zapomina ją skonfigurować. W tym artykule wyjaśniamy, jak prawidłowo zadbać o kopie zapasowe.

Co należy archiwizować?

  • Światy: folder world zawiera wszystkie bloki, budowle i zawartość skrzyń. To najważniejsze.
  • Dane pluginów: folder plugins zawiera konfigurację i bazy danych pluginów (ekonomia, uprawnienia, warpy itp.).
  • Konfiguracja serwera: server.properties, bukkit.yml, spigot.yml, paper.yml i inne pliki konfiguracyjne.
  • Bazy danych: jeśli używasz MySQL/MariaDB, eksportuj bazy danych osobno.

Metoda 1: Ręczne kopie zapasowe

Najprostsza metoda: skopiuj pliki serwera do bezpiecznej lokalizacji.

# Zatrzymaj serwer lub użyj save-all + save-off
/save-all
/save-off

# Utwórz skompresowane archiwum
tar -czf backup-$(date +%Y%m%d).tar.gz /sciezka/do/serwera/

# Włącz ponownie zapisywanie
/save-on

Wada: musisz o tym pamiętać, a serwer jest na chwilę zatrzymany.

Metoda 2: Kopie zapasowe oparte na pluginach

Pluginy takie jak eBackup lub DriveBackupV2 automatyzują ten proces:

  • eBackup: prosty i lekki. Tworzy okresowe kopie zapasowe i utrzymuje ich maksymalną liczbę.
  • DriveBackupV2: przesyła kopie zapasowe na Google Drive, OneDrive, Dropbox lub FTP. Idealny do kopii zapasowych poza serwerem.

Przykładowa konfiguracja eBackup:

backup-interval: 360  # Co 6 godzin
max-backups: 10       # Przechowuj 10 kopii zapasowych
backup-format: zip

Metoda 3: Skrypty po stronie serwera

Zadanie cron, które automatycznie tworzy kopie zapasowe:

# Dodaj do crontab (crontab -e)
0 */6 * * * /root/scripts/minecraft-backup.sh

Przykładowy skrypt kopii zapasowej:

#!/bin/bash
SERVER_DIR="/opt/minecraft"
BACKUP_DIR="/backups/minecraft"
DATE=$(date +%Y%m%d-%H%M)

# Wyślij save-all do serwera
screen -S minecraft -X stuff "save-all$(printf '\r')"
sleep 10

# Utwórz kopię zapasową
tar -czf "$BACKUP_DIR/backup-$DATE.tar.gz" "$SERVER_DIR/world" "$SERVER_DIR/plugins"

# Usuń kopie zapasowe starsze niż 7 dni
find "$BACKUP_DIR" -name "backup-*.tar.gz" -mtime +7 -delete

Metoda 4: Kopie zapasowe Pterodactyl

Jeśli używasz Pterodactyl (jak w HostValues), możesz tworzyć kopie zapasowe przez panel:

  • Przejdź do swojego serwera w panelu.
  • Kliknij "Backups".
  • Kliknij "Create Backup".
  • Kopia zapasowa jest automatycznie kompresowana i zapisywana.

Możesz również ustawić automatyczne kopie zapasowe za pomocą funkcji Schedule.

Przywracanie kopii zapasowej

  1. Zatrzymaj serwer.
  2. Zmień nazwę bieżącego folderu świata (np. world na world-old).
  3. Rozpakuj kopię zapasową w pierwotnej lokalizacji.
  4. Uruchom serwer.
  5. Sprawdź, czy wszystko działa.
  6. Usuń stary folder świata dopiero wtedy, gdy masz pewność, że kopia zapasowa jest prawidłowa.

Najlepsze praktyki

  • Twórz kopię zapasową co najmniej co 6 godzin.
  • Przechowuj kopie zapasowe w innej lokalizacji niż serwer.
  • Regularnie testuj, czy możesz przywrócić kopie zapasowe.
  • Zawsze twórz ręczną kopię zapasową przed dużymi zmianami (aktualizacje pluginów, zadania WorldEdit).
  • Przechowuj minimum tydzień kopii zapasowych, aby móc przywrócić również starsze wersje.

Czy mogę tworzyć kopię zapasową, gdy serwer działa?

Tak, ale zawsze użyj najpierw /save-all i /save-off. To zapewnia, że wszystkie dane zostaną zapisane na dysku i zapobiega uszkodzeniu podczas kopiowania. Nie zapomnij później o /save-on.

Ile miejsca potrzebuję na kopie zapasowe?

Przeciętny świat Minecraft to 500 MB do 5 GB po kompresji, w zależności od rozmiaru i czasu istnienia. Przy 10 kopiach zapasowych potrzebujesz 5-50 GB. Używaj kompresji (tar.gz lub zip), aby oszczędzać miejsce.

Co jeśli moja kopia zapasowa jest uszkodzona?

Dlatego przechowujesz wiele kopii zapasowych. Jeśli najnowsza jest uszkodzona, możesz wrócić do starszej wersji. Regularnie testuj kopie zapasowe, przywracając je na serwerze testowym.

Twórz automatyczne kopie zapasowe na swoim serwerze Minecraft w HostValues przez panel Pterodactyl.


Nadal masz pytania? Utworz ticket, a nasz zespol Ci pomoze.

Powrot do bloga