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
- Zatrzymaj serwer.
- Zmień nazwę bieżącego folderu świata (np. world na world-old).
- Rozpakuj kopię zapasową w pierwotnej lokalizacji.
- Uruchom serwer.
- Sprawdź, czy wszystko działa.
- 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.