Jak wykonać kopię zapasową serwera FiveM

Jak wykonać kopię zapasową serwera FiveM i przetestować przywracanie

Użyteczny backup FiveM zawiera zasoby, konfigurację, bazę danych i informacje potrzebne do ich wspólnego przywrócenia. Skopiowany folder jest niekompletny, gdy stan gracza, ekwipunku, posiadłości lub ekonomii znajduje się w MariaDB/MySQL.

Zdefiniuj zestaw kopii zapasowych

  • foldery zasobów i niestandardowe skrypty
  • server.cfg, uprawnienia i konfigurację wdrożenia
  • profile i przepisy, których faktycznie potrzebujesz txAdmin
  • spójny zrzut bazy danych
  • notatki o wersji dla artefaktów, frameworka i zależności

Wyklucz pamięci podręczne, logi i wygenerowane pliki, chyba że są one wymagane do dochodzenia. Nigdy nie umieszczaj poufnych informacji w publicznym repozytorium.

Dla MariaDB, zweryfikuj aktualne opcje w oficjalnym Dokumentacja mariadb-dump zamiast kopiować dane uwierzytelniające lub flagi z niepowiązanego serwera.

Windows: PowerShell i Harmonogram zadań

Utwórz skrypt PowerShell, który zatrzymuje lub koordynuje zapisy, eksportuje bazę danych za pomocą narzędzia do tworzenia kopii zapasowych dostawcy bazy danych, kopiuje pliki serwera i zapisuje je w katalogu z datą i godziną. Użyj jawnych ścieżek i zakończ działanie, jeśli eksport bazy danych się nie powiedzie.

$Stamp = Get-Date -Format 'yyyyMMdd-HHmmss'
$Destination = "D:\FiveM-Backups\$Stamp"
New-Item -ItemType Directory -Path $Destination | Out-Null
Copy-Item 'D:\FXServer\server-data' "$Destination\server-data" -Recurse
# Run the database dump command documented for your database installation.

W Harmonogramie zadań utwórz dedykowane konto usługi o niskich uprawnieniach, uruchamiaj niezależnie od tego, czy użytkownik jest zalogowany, jawnie ustaw program PowerShell i ścieżkę skryptu oraz skonfiguruj historię błędów/ponowień. Przetestuj zadanie ręcznie przed poleganiem na jego harmonogramie.

Linux: skrypt i cron/systemd timer

#!/usr/bin/env bash
set -euo pipefail
stamp=$(date -u +%Y%m%dT%H%M%SZ)
dest="/srv/backups/fivem/$stamp"
install -d -m 0700 "$dest"
tar -C /srv/fivem -czf "$dest/server-data.tar.gz" server-data
# Add the authenticated database dump command for your MariaDB/MySQL setup.

Uruchom go za pomocą systemd timer lub cron z dedykowanym kontem. Zapisuj status wyjścia i alertuj w przypadku błędu. Nie umieszczaj haseł do bazy danych w skrypcie dostępnym do odczytu dla wszystkich.

Użyj zasady 3-2-1

Przechowuj trzy kopie, na dwóch typach nośników, z jedną kopią poza siedzibą firmy. Szyfruj archiwa poza siedzibą firmy, zdefiniuj retencję i zapobiegaj usuwaniu przez serwer produkcyjny każdej zdalnej generacji, jeśli jego dane uwierzytelniające zostaną naruszone.

Walidacja przywracania

  1. Zapewnij czysty serwer stagingowy.
  2. Przywróć bazę danych i pliki z wybranego punktu odzyskiwania.
  3. Uruchom dokładną kombinację artefaktów/frameworka zarejestrowaną wraz z kopią zapasową.
  4. Dołącz jako zwykły gracz i zweryfikuj postać, ekwipunek, pracę, mieszkanie i uprawnienia.
  5. Zapisz czas przywracania i brakujące zależności, a następnie napraw proces tworzenia kopii zapasowych.

Zaplanowany “sukces” oznacza tylko tyle, że zadanie zostało zakończone. Dowodem jest pomyślnie zakończony test przywracania.

Dodaj komentarz