Datafex LogoDatafex
All guides

14 September 2026 · 2 min read

Server backup strategy: what, where and how often?

A backup begins to exist not on the day it is taken but on the day the restore is tested. An untested backup is not a backup; it is an assumption.

The 3-2-1 rule

Forty years old and still valid:

At game server scale the practical equivalent is a local backup on the server plus a remote backup on another server or in object storage.

A backup kept on the same machine is not a backup

This is the most common mistake. A backup sitting on the same disk is useless in these scenarios: disk failure, file system corruption, an accidentally deleted directory (with the backup in the same directory), ransomware.

A local backup is only for a quick rollback — undoing a bad configuration change in five minutes, for example. The real protection is in the remote copy.

What should you back up?

Game / systemCritical data
FiveM / RedMThe MySQL database + resources/ + server.cfg
MinecraftWorld folders + plugin configurations
RustThe saves under server/<identity>/
Metin2The account, player and common databases + CONFIG
Knight Online / SilkroadMSSQL data and log files
Web hostingThe database + httpdocs + email

Copying files is not enough for a database. Copying the files of a running MySQL produces an inconsistent copy; mysqldump or a consistent snapshot is required:

mysqldump --single-transaction --quick \
  -u user -p database | gzip > backup-$(date +%F).sql.gz

--single-transaction takes a consistent copy without acquiring locks — this is how you back up a live server without stopping it.

How often?

The answer is found with a single question: how many hours of data loss can you accept? Your backup frequency is that number, not less.

Retention

Keeping only the most recent backup is dangerous: if corruption goes unnoticed for a week, all you have left is the corrupted copy. A simple and sufficient scheme: 7 daily + 4 weekly + 3 monthly.

The restore test

Backups fail to work because this step gets skipped. Once a month:

  1. Extract the backup into another directory (or onto a test server)
  2. Restore the database and count the rows
  3. Load the world save and see the server come up

Trusting an untested backup is worse than taking no backup at all — because it creates a false confidence.

Automation

A backup taken by hand is a backup not taken. Automate it with a systemd timer or cron and set up a notification on failure. A backup job that silently stops running is noticed months later.

How this works at Datafex

The service detail includes an option to take a snapshot, and a snapshot backup can be added while ordering. But backing up the application data inside the server is your responsibility — a snapshot is a photograph of the whole machine and does not guarantee database consistency.

Related reading

If you want to act on what is in this guide:

See plans with snapshot support

Related guides