Come fare backup di un server FiveM: database, resources e txData
Fai backup del tuo server FiveM: mysqldump o HeidiSQL per il database, resources, server.cfg e txData, backup programmati, copie off-server e come ripristinare.
Un disco muore, uno script cattivo elimina una tabella, un host chiude il tuo account, o elimini la cartella sbagliata. Se l'unica copia del server è sul server, ricomincia da zero e i tuoi giocatori perdono i loro personaggi. Questa guida copre cosa fare backup, come automatizzarlo, e come ripristinare.
Cosa fare backup
| Cosa | Perché | Dove |
|---|---|---|
| Database | Personaggi, soldi, veicoli, inventari, tutto ciò che i giocatori possiedono | MariaDB o MySQL |
server.cfg |
Le tue impostazioni del server e l'ordine di avvio | cartella dati del server |
resources folder |
I tuoi script e i loro file di config | cartella dati del server |
| txData | Impostazioni txAdmin, account admin, cronologia dei ban e il registro delle azioni | la cartella txData |
I binari del server FiveM (artifacts) non hanno bisogno di backup. Puoi scaricarli di nuovo, vedi aggiornamento degli artifact del server.
Attenzione:
server.cfgpuò contenere la tua chiave di licenza, la password del database e i token di Discord. Mantieni i backup privati e non condividerli mai in un luogo pubblico.
Fai il backup del database
Con mysqldump
mysqldump viene fornito con MariaDB e MySQL. Sostituisci l'utente e il nome del database con il tuo:
mysqldump -u root -p --single-transaction --routines --databases es_extended > backup.sql--single-transactioncrea una copia coerente delle tabelle InnoDB senza bloccare il server.--routinesinclude procedure memorizzate.--databasesaggiunge l'istruzioneCREATE DATABASE, quindi un ripristino è più semplice.
Metti la data nel nome del file, così le copie non si sovrascrivono l'un l'altro:
mysqldump -u root -p --single-transaction --routines --databases es_extended > "backup_$(date +%F).sql"Per eseguirlo senza un prompt di password, memorizza le credenziali in un file di opzioni protetto (come ~/.my.cnf su Linux) invece di digitsrle nel comando.
Con HeidiSQL
Se preferisci uno strumento grafico:
- Connettiti al server in HeidiSQL.
- Fai clic con il pulsante destro del mouse sul database e scegli Export database as SQL.
- Seleziona tutte le tabelle, scegli Create per la struttura e Insert per i dati, e scegli un file di destinazione.
- Fai clic su Export.
Fallo a mano prima di cambiamenti rischiosi. Per backup regolari, automatizzalo.
Fai il backup dei file
Comprimi le cartelle che vuoi conservare:
tar -czf server_files_$(date +%F).tar.gz server.cfg resources txDataSu Windows, PowerShell può fare lo stesso:
Compress-Archive -Path server.cfg, resources, txData -DestinationPath "server_files_$(Get-Date -Format yyyy-MM-dd).zip"Eseguilo dalla cartella che contiene questi elementi, o usa percorsi completi. Salta le cartelle di cache se i tuoi backup diventano enormi; vengono ricostruiti quando il server viene eseguito.
Programmalo
Linux: cron
Apri il crontab con crontab -e e aggiungi una riga. Questo esegue il dump ogni giorno alle 04:00:
0 4 * * * mysqldump --single-transaction --routines --databases es_extended > /backups/db_$(date +\%F).sqlAll'interno di crontab, % deve essere sfuggito come \%. L'utente che lo esegue ha bisogno dell'accesso al database tramite un file di opzioni, come descritto sopra.
Windows: Task Scheduler
Salva i tuoi comandi di backup in uno script backup.ps1, quindi crea un'attività giornaliera:
schtasks /Create /SC DAILY /ST 04:00 /TN "FiveM backup" /TR "powershell -ExecutionPolicy Bypass -File C:\fivem\backup.ps1"O usa l'app Task Scheduler: crea un'attività base, imposta un trigger giornaliero, e scegli lo script come azione.
Scegli un'ora quando pochi giocatori sono online, come appena prima del tuo riavvio programmato.
Elimina i vecchi backup
I backup si accumulano. Mantieni, ad esempio, le ultime 7 copie giornaliere e alcune settimanali. Una piccola pulizia nello script è sufficiente:
find /backups -name "db_*.sql" -mtime +14 -deleteMantieni i backup fuori dal server
La regola è semplice: un backup che vive sulla stessa macchina non è un vero backup. Copialo da qualche altra parte dopo ogni esecuzione:
- un altro server o una macchina domestica, con
scporsyncsu SSH, - un servizio di archiviazione cloud, con uno strumento come
rclone, - un disco diverso che non fa parte della stessa macchina, come minimo.
Verifica che la copia arrivi. Controlla la destinazione di tanto in tanto.
Ripristina un backup
Un backup che non hai mai ripristinato è una speranza, non un backup. Prova un ripristino su un database di test ora.
- Ferma il server FiveM da txAdmin, così nulla scrive durante il ripristino.
- Ripristina il database:
mysql -u root -p < backup.sqlPoiché il dump ha usato --databases, ricrea il database stesso. Se hai esportato con HeidiSQL, scegli Run SQL file nello strumento e seleziona il file.
- Rimetti
server.cfge la cartellaresources, e la cartellatxDatase txAdmin è stato perso. - Avvia il server e guarda la console per errori di database. Vedi oxmysql connection errors se la connessione fallisce.
Il ripristino sovrascrive i dati attuali in quelle tabelle, quindi fallo di proposito e conserva una copia dello stato attuale prima.
Prima di ogni cambio
Prima di aggiornare un framework, aggiungere uno script che modifica le tabelle, o eseguire un file SQL da un download, fai un veloce dump manuale. Impiega secondi e risparmia un sacco di guai.
Checklist
| Sintomo | Soluzione |
|---|---|
| Nessun backup affatto | Esegui mysqldump oggi, poi programmalo |
| Il dump chiede una password in un lavoro programmato | Usa un file di opzioni con le credenziali |
| I backup solo sul server | Copiali su un'altra macchina o archiviazione |
| Il disco si riempie | Elimina i backup più vecchi del tuo periodo di conservazione |
| Impostazioni txAdmin o admin persi | Ripristina la cartella txData |
| Il ripristino fallisce su import | Controlla che il file SQL sia completo e che l'utente del database abbia i diritti |
| Incerto che il backup funzioni | Ripristinalo su un database di test e controlla le tabelle |
Risposte rapide
Qual è la cosa più importante di cui fare backup?
Il database. Personaggi, soldi, veicoli e inventari vivono tutti lì, e non puoi ricostruirli. Le risorse e la config possono essere riscaricate o ricreate, ma i dati dei giocatori no.
Quanto spesso dovrei fare backup?
Fai il backup del database almeno una volta al giorno, e prima di ogni aggiornamento o grande cambio di script. Un server occupato può eseguirlo ogni poche ore.
È sufficiente un backup sulla stessa macchina?
No. Un guasto del disco, un server eliminato o un attacco ransomware porta il backup con sé. Copia i backup su un'altra macchina o servizio di archiviazione.
Script senza questo problema
Tebex TemplateUn tema premium senza codice per il tuo negozio Tebex, modificabile interamente dal pannello Tebex.Vedi script →
Item Creator V2Crea oggetti utilizzabili con animazioni, props, effetti e altro — senza scrivere codice.Vedi script →
Shop CreatorCrea un negozio in meno di un minuto — proprietari, dipendenti, casseforti e rapine inclusi.Vedi script →