Work · DevOps · 2024

A MySQL backup orchestrator with point-in-time recovery

A backup management system for Docker-based and host-based MySQL installations. Full + incremental snapshots, point-in-time recovery, automated retention, compression, and verified restores.

  • Bash
  • Percona XtraBackup
  • Docker
  • MySQL
  • zstd

The job

1 on the team,
6 weeks.

Client
Direct
Sector
DevOps
Year
2024
Role
Tech Lead

Brief and outcome

The brief

What was needed.

Multiple databases, multiple environments, mixed Docker + bare-metal — and the backup story was a tangle of cron jobs and assumptions. We needed point-in-time recovery, tested restores, and an honest answer to "what's our RPO and RTO" for every database we run.

The outcome

What came of it.

Documented RPO of 5 minutes and RTO of 30 minutes for every database in the system. First time the team had a backup playbook they actually trusted enough to run from cold.

What was built

Shipped

6 parts,
shipped.

From

A selection of projects shipped through Syntorium and our CTO's prior engagements.

  1. Full + incremental snapshots

    Built on Percona XtraBackup with binlog application for point-in-time recovery to any second within the retention window.

  2. Docker + host-based MySQL support

    A single config schema — the same orchestrator runs against containers and hardware.

  3. Automated retention

    Daily, weekly, monthly policies, enforced by the orchestrator, never by humans editing crontabs.

  4. zstd compression

    Verified integrity hashes; bandwidth costs dropped by ~60% vs. gzip without measurably impacting backup duration.

  5. Restore verification

    Every backup is restored into a sandbox automatically and validated against checksum + sample queries. Untested backups don't count.

  6. Operator playbook

    For the top-five recovery scenarios, kept inside the same repo as the tooling.

More work

Start

Send a brief.

We reply within one working day with a written estimate or a call.

Open the brief form

No newsletters. Your details aren't shared.

Or say hello.

Sunday to Thursday, 09:00–18:00, GMT+4. Remote engineers cover the EU and the US asynchronously. We work in English, Arabic and Urdu.