Dumpling

Guides / AWS RDS

Back up AWS RDS MySQL to Wasabi

Set up automatic, scheduled MySQL backups from AWS RDS into your own Wasabi bucket โ€” with retention, optional encryption and failure alerts โ€” without writing a script or maintaining a cron server.

Why back up off-platform?

RDS automated snapshots are great, but they are RDS-only. A logical dump lets you restore to a laptop, a Hetzner box or another cloud without an AWS account.

Flat-rate hot storage with no egress or API fees. Good for larger databases with long retention.

Step 1 โ€” Find your AWS RDS database credentials

RDS console โ†’ your instance โ†’ Connectivity & security. The instance must be publicly accessible (or reachable via a bastion / SSH tunnel), with a security-group rule for the Dumpling worker IP.

Then allow the Dumpling worker's static IP address 2.28.121.200 to connect. Keep SSL enabled โ€” AWS RDS requires it. For extra safety, create a read-only user; the exact GRANT statements are in the docs.

Step 2 โ€” Create a Wasabi bucket and access key

  1. Create a bucket in your chosen region.
  2. Create an access key under Access Keys.
  3. Use the regional endpoint, e.g. https://s3.eu-central-1.wasabisys.com.

In Dumpling, the endpoint is https://s3.eu-central-1.wasabisys.com and the region is eu-central-1. Wasabi bills a 1 TB minimum (~$7/month) with no egress fees โ€” worth it once you cross a few hundred GB of retained backups.

Step 3 โ€” Create the backup job

  1. Sign in (free, no card) and add the database from step 1. Dumpling tests the connection and reports the version and size immediately.
  2. Add the Wasabi bucket from step 2. Dumpling writes and deletes a tiny test object to confirm the key works.
  3. Create a job: pick a schedule (daily at 02:00 UTC is a good default), how many backups to keep, and optionally a passphrase to encrypt files client-side-decryptably.

The first backup starts right away. From then on, Dumpling runs mysqldump on schedule and streams the output straight into Wasabi. Every run shows the object key, size, duration and log.

Restoring

Download the object from Wasabi and run:

mysql -e "CREATE DATABASE restored_db"
gunzip < 2026-09-10T02-00-01Z.sql.gz | mysql restored_db

Encrypted files (.enc) decrypt with openssl enc -d -aes-256-cbc -pbkdf2; see the restore docs.

Prefer to do it yourself?

It is a few lines of shell โ€” the hard part is the machine to run it, retention, and knowing when it silently stops working:

# DIY alternative: a cron job on a server you maintain
0 2 * * * mysqldump --single-transaction -h HOST -u USER -p... DB | gzip \
  | aws s3 cp - s3://BUCKET/backups/$(date -u +%FT%TZ).sql.gz --endpoint-url https://s3.eu-central-1.wasabisys.com
# ...plus retention, alerting, and a machine to run it on.

Dumpling exists so you do not have to babysit that cron job. The free plan covers one database with daily backups forever.

Back up AWS RDS MySQL to Wasabi in 3 minutes

No agent. No card. Your bucket.

Start free โ†’

Related guides