Comment sauvegarder un serveur FiveM : base de données, ressources et txData
Sauvegardez votre serveur FiveM : mysqldump ou HeidiSQL pour la base de données, ressources, server.cfg et txData, sauvegardes planifiées, copies hors serveur et comment restaurer.
Un disque meurt, un mauvais script supprime une table, un hébergeur ferme votre compte, ou vous supprimez le mauvais dossier. Si votre seule copie du serveur est sur le serveur, vous recommencez à zéro et vos joueurs perdent leurs personnages. Ce guide couvre ce à sauvegarder, comment l'automatiser, et comment restaurer.
Ce à sauvegarder
| Quoi | Pourquoi | Où |
|---|---|---|
| Base de données | Personnages, argent, véhicules, inventaires, tout ce que les joueurs possèdent | MariaDB ou MySQL |
server.cfg |
Vos paramètres de serveur et l'ordre de démarrage | dossier de données du serveur |
Dossier resources |
Vos scripts et leurs fichiers de configuration | dossier de données du serveur |
| txData | Paramètres txAdmin, comptes administrateur, historique des bans et journal des actions | le dossier txData |
Les binaires serveur FiveM (artifacts) n'ont pas besoin de sauvegarde. Vous pouvez les re-télécharger, voir mise à jour des artifacts serveur FiveM.
Attention :
server.cfgpeut contenir votre clé de licence, votre mot de passe de base de données et vos tokens Discord. Gardez les sauvegardes privées et ne les postez jamais dans un lieu public.
Sauvegarder la base de données
Avec mysqldump
mysqldump est livré avec MariaDB et MySQL. Remplacez le nom d'utilisateur et le nom de la base de données par les vôtres :
mysqldump -u root -p --single-transaction --routines --databases es_extended > backup.sql--single-transactionprend une copie cohérente des tables InnoDB sans bloquer le serveur.--routinesinclut les procédures stockées.--databasesajoute l'instructionCREATE DATABASE, pour qu'une restauration soit plus simple.
Mettez la date dans le nom du fichier, pour que les copies ne se remplacent pas :
mysqldump -u root -p --single-transaction --routines --databases es_extended > "backup_$(date +%F).sql"Pour l'exécuter sans demande de mot de passe, stockez les credentials dans un fichier d'option protégé (comme ~/.my.cnf sur Linux) au lieu de les taper dans la commande.
Avec HeidiSQL
Si vous préférez un outil graphique :
- Connectez-vous au serveur dans HeidiSQL.
- Cliquez droit sur la base de données et choisissez Exporter la base de données en SQL.
- Sélectionnez toutes les tables, choisissez Créer pour la structure et Insérer pour les données, et choisissez un fichier cible.
- Cliquez sur Exporter.
Faites cela manuellement avant les changements risqués. Pour les sauvegardes régulières, automatisez-le.
Sauvegarder les fichiers
Compressez les dossiers que vous voulez garder :
tar -czf server_files_$(date +%F).tar.gz server.cfg resources txDataSur Windows, PowerShell peut faire la même chose :
Compress-Archive -Path server.cfg, resources, txData -DestinationPath "server_files_$(Get-Date -Format yyyy-MM-dd).zip"Exécutez-le depuis le dossier qui contient ces éléments, ou utilisez des chemins complets. Ignorez les dossiers de cache si vos sauvegardes deviennent énormes ; ils sont reconstruits quand le serveur s'exécute.
Le planifier
Linux : cron
Ouvrez crontab avec crontab -e et ajoutez une ligne. Cela exécute le dump chaque jour à 04:00 :
0 4 * * * mysqldump --single-transaction --routines --databases es_extended > /backups/db_$(date +\%F).sqlDans crontab, % doit être échappé comme \%. L'utilisateur qui l'exécute a besoin d'accès à la base de données via un fichier d'option, comme décrit ci-dessus.
Windows : Planificateur de tâches
Enregistrez vos commandes de sauvegarde dans un script backup.ps1, puis créez une tâche quotidienne :
schtasks /Create /SC DAILY /ST 04:00 /TN "FiveM backup" /TR "powershell -ExecutionPolicy Bypass -File C:\fivem\backup.ps1"Ou utilisez l'application Planificateur de tâches : créez une tâche basique, définissez un déclencheur quotidien, et choisissez le script comme action.
Choisissez un moment où peu de joueurs sont en ligne, par exemple juste avant votre redémarrage planifié.
Supprimer les anciennes sauvegardes
Les sauvegardes s'accumulent. Gardez, par exemple, les 7 dernières copies quotidiennes et quelques copies hebdomadaires. Un petit nettoyage dans le script suffit :
find /backups -name "db_*.sql" -mtime +14 -deleteGarder les sauvegardes en dehors du serveur
La règle est simple : une sauvegarde qui vit sur la même machine n'est pas une vraie sauvegarde. Copiez-la ailleurs après chaque exécution :
- un autre serveur ou une machine personnelle, avec
scpoursyncvia SSH, - un service de stockage cloud, avec un outil comme
rclone, - un disque différent qui ne fait pas partie de la même machine, au minimum.
Testez que la copie arrive. Vérifiez la destination de temps en temps.
Restaurer une sauvegarde
Une sauvegarde que vous n'avez jamais restaurée est un espoir, pas une sauvegarde. Essayez une restauration sur une base de données de test maintenant.
- Arrêtez le serveur FiveM depuis txAdmin, pour que rien n'écrive pendant la restauration.
- Restaurez la base de données :
mysql -u root -p < backup.sqlComme le dump a utilisé --databases, il recrée la base de données elle-même. Si vous avez exporté avec HeidiSQL, choisissez Exécuter le fichier SQL dans l'outil et sélectionnez le fichier.
- Remettez
server.cfget le dossierresourcesen place, et le dossiertxDatasi txAdmin a été perdu. - Démarrez le serveur et regardez la console pour les erreurs de base de données. Voir erreurs de connexion oxmysql si la connexion échoue.
La restauration remplace les données actuelles dans ces tables, donc faites-le à dessein et gardez d'abord une copie de l'état actuel.
Avant chaque changement
Avant de mettre à jour un framework, d'ajouter un script qui édite les tables, ou d'exécuter un fichier SQL à partir d'un téléchargement, prenez un dump manuel rapide. Cela prend secondes et économise beaucoup d'ennuis.
Checklist
| Problème | Solution |
|---|---|
| Pas de sauvegarde du tout | Exécutez mysqldump aujourd'hui, puis planifiez-le |
| Dump demande un mot de passe dans un travail planifié | Utilisez un fichier d'option avec les credentials |
| Les sauvegardes seulement sur le serveur | Copiez-les sur une autre machine ou un stockage |
| Le disque se remplit | Supprimez les sauvegardes plus anciennes que votre période de rétention |
| Paramètres txAdmin ou administrateurs perdus | Restaurez le dossier txData |
| La restauration échoue à l'import | Vérifiez que le fichier SQL est complet et que l'utilisateur de la base de données a les droits |
| Incertain que la sauvegarde fonctionne | Restaurez-la à une base de données de test et vérifiez les tables |
Réponses rapides
Quelle est la chose la plus importante à sauvegarder ?
La base de données. Les personnages, l'argent, les véhicules et les inventaires y vivent tous, et vous ne pouvez pas les reconstruire. Les ressources et la configuration peuvent être re-téléchargées ou recréées, mais les données des joueurs ne peuvent pas l'être.
À quelle fréquence dois-je sauvegarder ?
Sauvegardez la base de données au moins une fois par jour, et avant chaque mise à jour ou grand changement de script. Un serveur actif peut l'exécuter toutes les quelques heures.
Une sauvegarde sur la même machine suffit-elle ?
Non. Une défaillance du disque, un serveur supprimé ou une attaque de ransomware emporte la sauvegarde avec lui. Copiez les sauvegardes sur une autre machine ou un service de stockage.
Des scripts sans ce problème
Tebex TemplateUn thème premium sans code pour votre boutique Tebex, entièrement modifiable depuis le panel Tebex.Voir le script →
Item Creator V2Créez des items utilisables avec animations, props, effets et plus — sans écrire une ligne de code.Voir le script →
Shop CreatorCréez un magasin en moins d’une minute — propriétaires, employés, coffres et braquages inclus.Voir le script →