Automated Remote MySQL Backups with Percona Xtrabackup

Built a lightweight backup automation script for streaming MySQL backups to a remote vault using Percona Xtrabackup. Deployed across multiple production environments at Network Redux.

Context

Production MySQL databases needed reliable, automated backups pushed to a remote vault — without locking tables or impacting application performance. The solution had to be simple enough to deploy via cron and robust enough for production use.

What I Did

  • Built a bash script using Percona Xtrabackup for hot, non-blocking MySQL backups
  • Implemented SSH-based streaming to push compressed backups to a remote vault
  • Configured cron-based scheduling — every 4 hours by default
  • Open-sourced the script and documentation on GitHub

Results

MetricDetail
DowntimeZero — hot backups, no table locks
AutomationUnattended, 4-hour cron schedule
Production useDeployed across multiple environments
Open sourceGitHub repo

Stack

MySQL · Percona Xtrabackup · Bash · SSH · Cron · Linux