Skip to content

All about backups

Cyberfusion creates backups on three separate tracks:

  • Local backups on the master node — Cyberfusion-managed, short-term, used for quick restores. You control the interval and retention.
  • Borg repositories — customer-configured, long-term, with the retention policy you set.
  • Disaster recovery backups — Cyberfusion-managed, off-cluster, no customer-facing controls. A last-resort safety net.

This article explains what each is for and what you control on each.


Local backups on the master node

For each backup-capable service (MariaDB, PostgreSQL, Meilisearch, etc.), the cluster's master node holds a rolling set of recent backups. They are created automatically — you don't set them up.

You control two things per service, in 'Cluster Properties' for that service:

  • The interval (e.g. 'MariaDB Backup Interval') — how often a backup is taken.
  • The local retention (e.g. 'MariaDB Backup Local Retention') — how many recent backups are kept on the master node.

These backups exist so Cyberfusion can restore quickly when needed. They live on the master node only and rotate automatically as new ones are taken.

Independent of Borg

Local-on-master backups and Borg repositories are separate systems with separate retention. Configuring one does not affect the other. Local backups are about fast restore; Borg is about long-term retention.

Borg repositories

Borg repositories are for long-term, customer-configured backups. You create a repository, point it at a UNIX user or a database, and decide how many backups to keep at each interval.

What can be backed up

A Borg repository backs up one of:

  • A UNIX user — typically used for file backups of a project's data.
  • A database — for database-level backups separate from the local-on-master rotation.

Retention: the keep settings

A Borg repository has five retention dials:

  • 'Keep Hourly'
  • 'Keep Daily'
  • 'Keep Weekly'
  • 'Keep Monthly'
  • 'Keep Yearly'

Each holds an integer. After each backup, Borg keeps that many most-recent archives at each interval and prunes the rest.

At least one keep value must be set. Leaving them all blank isn't valid — Borg needs to know what to keep.

For the full picture of how Borg's pruning logic decides which archives survive, see the Borg prune example.

Frequency

The 'Frequency' field controls how often a new Borg archive is created from the repository's source.

Automatic pruning

The cluster has an 'Automatic Prune Enabled' toggle under 'Cluster Properties' > 'Borg'. When on, Cyberfusion runs borg prune automatically using each repository's keep settings. When off, pruning is manual.

Disaster recovery backups

Cyberfusion runs a third backup track for disaster recovery — off-cluster, taken on a Cyberfusion-internal schedule, with retention managed entirely by Cyberfusion.

You can't see, configure, or restore from these backups yourself. They exist so that if a catastrophic incident wipes out a cluster, Cyberfusion has something to rebuild from. For normal restore scenarios (a database dropped this morning, a file deleted last week), the local-on-master rotation or your Borg repository is what you'll be working with.

Don't plan around them

Because there's no public interface to disaster recovery backups, don't include them in your recovery planning. If a specific RPO or RTO matters for a workload, configure local-on-master retention and a Borg repository to meet it directly.

Picking the right track

  • For fast restore of recent state (e.g. "oops, undo this morning's migration"): the local-on-master rotation has you covered already.
  • For long-term retention (compliance, yearly archives, file-level history beyond a week or two): use a Borg repository.
  • Most production setups use both — they don't conflict.

Use cases by target group

What to set up per group

  • Web agencies — one Borg repository per client UNIX user, with modest keep settings (Daily: 14, Weekly: 8, Monthly: 6). Cheap insurance — if a client deletes a media library, you've got file-level history.
  • Shops — backups are not optional. Run a Borg repository for the database with Hourly: 24, Daily: 14, Monthly: 12 so an order-table corruption mid-day is recoverable to the previous hour, not yesterday. The local-on-master rotation already gives you fast restore for the most recent state.
  • SaaS — pair the database Borg repository (long retention for compliance) with a UNIX-user Borg repository for tenant-uploaded files. Run a quarterly restore drill against a staging cluster — backups you've never restored aren't proven to work, so the drill is what catches a silently broken repository before you need it for real.
  • Tech agencies / large platforms — use yearly keeps (Yearly: 7) when audit windows reach back that far, and run pruning automatically (Automatic Prune Enabled on 'Cluster Properties' > 'Borg') so retention drift doesn't accumulate.