Backups

Database backups

Back up databases to S3 on a schedule, and download or restore any backup.

Harblet dumps a database and stores the file at a backup destination, on a schedule or when you click Back up now. Every backup can be downloaded and restored.

Set up backups

Have a destination

An admin adds a backup destination first.

Open the database

Open the database and go to its Backups tab.

Choose the settings

Destination
required
The bucket to store the backups in.
Schedule
Off, Every 15 minutes, Every hour or Every day. Daily backups run at 00:00 UTC.
Scheduled backups to keep
From 1 to 100, 7 by default. Harblet deletes older scheduled backups.

Save

Click Save. The first scheduled backup starts within a minute, then backups follow the schedule.

Click Back up now to start a backup at any time. Backups you start yourself stay until you delete them. Only scheduled backups count towards Scheduled backups to keep.

How scheduled backups run

  • Schedules follow UTC: every 15 minutes runs at :00, :15, :30 and :45, every hour at the top of the hour, and every day at midnight. A backup starts within about a minute of its time.
  • Harblet runs one backup at a time across all databases, and its own backup first.
  • Scheduled backups pause while Harblet is down. When it's back, Harblet takes the backup it missed most recently, if the next one isn't due yet. Earlier missed backups are skipped.
At worst you lose the data written since the last backup. Choose the schedule by how much data you can afford to lose.

The backup files

DatabaseFormatFile
PostgreSQLpg_dump custom format.dump
MySQLmysqldump, gzipped.sql.gz

Files are stored at <folder>/<project>/<database>/<time>.<extension> in the bucket, where project and database are their internal names, such as shop-k3x9/postgresql-x7k2. The History list shows who or what started each backup, its status, size and duration.

Download a backup

Click the download button of a completed backup. Restore it with the usual tools:

pg_restore --no-owner -d "$DATABASE_URL" postgresql-x7k2-2026-11-14T08-15-00-123Z.dump

Restore a backup

Click the restore button of a completed backup and confirm. Everything written since the backup is lost.

Harblet loads the backup into a new database next to the current one, then swaps it in. Open connections are closed once. If loading fails, the current database stays as it was. The connection details don't change.

An alert above the list shows how the latest restore went.

  • The database has to be running.
  • A backup restores into the database it was taken from.
  • Backups and restores run one at a time. While one runs, the buttons are disabled.

Delete a backup

Click the trash button of a backup and confirm. Harblet deletes its file from the destination. This can't be undone. A failed backup has no file, so deleting it only removes it from the list.

Errors

MessageWhat to do
The database isn't running.Deploy the database, then try again.
A backup is running. Wait for it to finish.Try again when the running backup is done.
Harblet restarted during the backup.Start the backup again.
A restore is running. Wait for it to finish.Try again when the restore is done.
Harblet restarted during the restore.Restore the backup again.
Wait for the backup to finish before deleting it.Delete the backup once it's done.
Wait for the restore to finish before deleting this backup.Delete the backup once the restore is done.
This destination was removed. Choose another one.Choose another destination and click Save.
Copyright © 2026 Harblet