Every server owner says they have backups. Most of them have never actually tested a restore. The first time you find out, it's a Tuesday at 3am and your database is corrupted.
What you actually need to back up
Three things: the MySQL database, the resources folder (especially your custom scripts), and the txAdmin profile / server.cfg. That's it. Everything else can be redownloaded.
How often
Database: at least every 6 hours, ideally every hour during peak. Resources: daily, plus on every meaningful change. txAdmin / config: snapshot once a week and after any major change.
Where to store them
The cardinal rule: backups must live on a different machine than the server. A backup on the same VPS that died doesn't help anyone. Use cheap object storage (S3, Backblaze, Wasabi) or a second VPS in a different region.
The restore drill
Do this once a quarter, before you need it. Spin up a fresh test box. Pull a backup. Restore the database. Restart the server. Connect a test account. Verify your character loads. If any step fails, you don't have a backup — you have files in a folder.
What to automate
mysqldump on a cron job, gzipped, uploaded via rclone to remote storage. A second cron job that prunes anything older than 30 days. A txAdmin recipe export weekly. Total setup time: about an hour. Ongoing maintenance: zero.
Wrapping up
A working backup is one you have actually restored from. Until you have done a full restore drill at least once, all you have is hope.
Written by
Alex Johnson
Server-owner-friendly tutorials, every week. Browse the marketplace for premium FiveM resources or reach out if you need a custom build.
