So sicherst du einen FiveM-Server: Datenbank, Ressourcen und txData
Sichere deinen FiveM-Server: mysqldump oder HeidiSQL für die Datenbank, Ressourcen, server.cfg und txData, geplante Sicherungen, Kopien außerhalb des Servers und wie du wiederherstellst.
Eine Festplatte stirbt, ein schlechtes Skript löscht eine Tabelle, ein Host schließt dein Konto oder du löschst den falschen Ordner. Wenn deine einzige Kopie des Servers auf dem Server ist, fängst du bei Null an und deine Spieler verlieren ihre Charaktere. Diese Anleitung behandelt, was zu sichern ist, wie man es automatisiert und wie man wiederherstellt.
Was zu sichern ist
| Was | Warum | Wo |
|---|---|---|
| Datenbank | Charaktere, Geld, Fahrzeuge, Inventare, alles was Spieler besitzen | MariaDB oder MySQL |
server.cfg |
Deine Servereinstellungen und die Startreihenfolge | Server-Datenordner |
resources-Ordner |
Deine Skripte und deren Konfigurationsdateien | Server-Datenordner |
| txData | txAdmin-Einstellungen, Admin-Konten, Ban-Verlauf und das Aktionsprotokoll | der txData-Ordner |
Die FiveM-Server-Binärdateien (Artefakte) brauchen keine Sicherung. Du kannst sie erneut herunterladen, siehe Aktualisiere Server-Artefakte.
Achtung:
server.cfgkann deinen Lizenzschlüssel, Datenbankpasswort und Discord-Token enthalten. Halte Sicherungen privat und poste sie nie an einem öffentlichen Ort.
Sichere die Datenbank
Mit mysqldump
mysqldump wird mit MariaDB und MySQL mitgeliefert. Ersetze den Benutzer und den Datenbanknamen mit deinen:
mysqldump -u root -p --single-transaction --routines --databases es_extended > backup.sql--single-transactionerstellt eine konsistente Kopie von InnoDB-Tabellen ohne den Server zu sperren.--routinesschließt gespeicherte Prozeduren ein.--databasesfügt dieCREATE DATABASE-Anweisung hinzu, so dass eine Wiederherstellung einfacher ist.
Gib das Datum in den Dateinamen ein, so dass Kopien sich nicht überschreiben:
mysqldump -u root -p --single-transaction --routines --databases es_extended > "backup_$(date +%F).sql"Um es ohne Passwort-Eingabeaufforderung auszuführen, speichere die Anmeldedaten in einer geschützten Optionsdatei (wie ~/.my.cnf unter Linux) statt sie in den Befehl einzugeben.
Mit HeidiSQL
Wenn du ein grafisches Werkzeug bevorzugst:
- Verbinde dich mit dem Server in HeidiSQL.
- Klicke mit der rechten Maustaste auf die Datenbank und wähle Datenbank als SQL exportieren.
- Wähle alle Tabellen, wähle Erstelle für die Struktur und Einfügen für die Daten und wähle eine Zieldatei.
- Klicke Exportieren.
Mache dies von Hand vor riskanten Änderungen. Für regelmäßige Sicherungen, automatisiere es.
Sichere Dateien
Komprimiere die Ordner, die du behalten möchtest:
tar -czf server_files_$(date +%F).tar.gz server.cfg resources txDataUnter Windows kann PowerShell das gleiche tun:
Compress-Archive -Path server.cfg, resources, txData -DestinationPath "server_files_$(Get-Date -Format yyyy-MM-dd).zip"Führe es aus dem Ordner aus, der diese Gegenstände enthält, oder verwende vollständige Pfade. Überspringe Cache-Ordner, wenn deine Sicherungen zu groß werden; sie werden neu erstellt, wenn der Server läuft.
Plane es
Linux: cron
Öffne die Crontab mit crontab -e und füge eine Zeile hinzu. Dies führt den Dump jeden Tag um 04:00 aus:
0 4 * * * mysqldump --single-transaction --routines --databases es_extended > /backups/db_$(date +\%F).sqlIn crontab muss % als \% escaped werden. Der Benutzer, der es ausführt, braucht Zugriff auf die Datenbank durch eine Optionsdatei, wie oben beschrieben.
Windows: Task Scheduler
Speichere deine Sicherungsbefehle in einem backup.ps1-Skript, dann erstelle eine tägliche Aufgabe:
schtasks /Create /SC DAILY /ST 04:00 /TN "FiveM backup" /TR "powershell -ExecutionPolicy Bypass -File C:\fivem\backup.ps1"Oder verwende die Task Scheduler App: erstelle eine grundlegende Aufgabe, stelle einen täglichen Auslöser ein und wähle das Skript als Aktion.
Wähle einen Zeitpunkt, wenn wenige Spieler online sind, wie kurz vor deinem geplanten Neustart.
Lösche alte Sicherungen
Sicherungen häufen sich an. Behalte zum Beispiel die letzten 7 täglichen Kopien und ein paar wöchentliche. Eine kleine Bereinigung im Skript reicht aus:
find /backups -name "db_*.sql" -mtime +14 -deleteHalte Sicherungen außerhalb des Servers
Die Regel ist einfach: Eine Sicherung, die auf der gleichen Maschine lebt, ist keine echte Sicherung. Kopiere sie nach jedem Lauf woanders hin:
- einen anderen Server oder einen Home-Computer mit
scpoderrsyncüber SSH, - einen Cloud-Speicherdienst mit einem Werkzeug wie
rclone, - eine andere Festplatte, die nicht Teil der gleichen Maschine ist, als Minimum.
Teste, dass die Kopie ankommt. Überprüfe das Ziel ab und zu.
Stelle eine Sicherung wieder her
Eine Sicherung, die du nie wiederhergestellt hast, ist eine Hoffnung, keine Sicherung. Versuche eine Wiederherstellung auf einer Test-Datenbank jetzt.
- Stoppe den FiveM-Server von txAdmin, so dass nichts während der Wiederherstellung geschrieben wird.
- Stelle die Datenbank wieder her:
mysql -u root -p < backup.sqlDa der Dump --databases verwendete, erstellt er die Datenbank selbst neu. Wenn du mit HeidiSQL exportiert hast, wähle SQL-Datei ausführen im Werkzeug und wähle die Datei.
- Lege
server.cfgund denresources-Ordner zurück und dentxData-Ordner, falls txAdmin verloren ging. - Starte den Server und beobachte die Konsole auf Datenbankfehler. Siehe oxmysql Verbindungsfehler, falls die Verbindung fehlschlägt.
Die Wiederherstellung überschreibt aktuelle Daten in diesen Tabellen, daher tue es absichtlich und halte zuerst eine Kopie des aktuellen Zustands.
Vor jeder Änderung
Bevor du ein Framework aktualisierst, ein Skript hinzufügst, das Tabellen bearbeitet, oder eine SQL-Datei aus einem Download laufen lässt, nimm einen schnellen manuellen Dump. Es dauert Sekunden und spart eine Menge Ärger.
Checkliste
| Symptom | Behebung |
|---|---|
| Überhaupt keine Sicherung | Führe mysqldump heute aus, dann plane es |
| Dump fragt nach Passwort in einem geplanten Job | Verwende eine Optionsdatei mit den Anmeldedaten |
| Sicherungen nur auf dem Server | Kopiere sie auf einen anderen Computer oder Speicher |
| Festplatte füllt sich auf | Lösche Sicherungen älter als deine Aufbewahrungsfrist |
| Verlorene txAdmin-Einstellungen oder Admins | Stelle den txData-Ordner wieder her |
| Wiederherstellung schlägt beim Import fehl | Überprüfe, dass die SQL-Datei vollständig ist und der Datenbankbenutzer die Rechte hat |
| Unsicher, ob die Sicherung funktioniert | Stelle sie auf einer Test-Datenbank wieder her und überprüfe die Tabellen |
Kurze Antworten
Was ist das Wichtigste, das man sichern sollte?
Die Datenbank. Charaktere, Geld, Fahrzeuge und Inventare leben alle dort, und du kannst sie nicht neu erstellen. Ressourcen und Konfiguration können neu heruntergeladen oder neu erstellt werden, aber Spielerdaten können nicht.
Wie oft sollte ich sichern?
Sichere die Datenbank mindestens einmal am Tag und vor jedem Update oder großen Skript-Änderung. Ein beschäftigter Server kann es alle paar Stunden laufen lassen.
Reicht eine Sicherung auf der gleichen Maschine aus?
Nein. Ein Festplattenfehler, ein gelöschter Server oder ein Ransomware-Angriff nimmt die Sicherung mit sich. Kopiere Sicherungen auf eine andere Maschine oder einen Speicherdienst.
Scripts ohne dieses Problem
Tebex TemplateEin Premium-Theme ohne Code für deinen Tebex-Shop, komplett im Tebex-Panel anpassbar.Script ansehen →
Item Creator V2Erstelle nutzbare Items mit Animationen, Props, Effekten und mehr — ganz ohne Code.Script ansehen →
Shop CreatorBau einen Shop in unter einer Minute — Besitzer, Angestellte, Tresore und Überfälle inklusive.Script ansehen →