WHBMP

S3 Backup

Oct 15, 2026

S3 Backup sends backups to any S3-compatible storage. It needs WHBMP 2.1.1 or newer.

Supported storage

Backblaze B2, Wasabi, Cloudflare R2, DigitalOcean Spaces, MinIO, Amazon S3 and other S3-compatible services.

What is backed up

  • the database (read back and checked before it is uploaded),
  • the settings bundle,
  • the uploaded files.

Each site is stored under <folder>/<site name>/ in db/, system/ and files/, so several sites can share one bucket.

Set up

  1. Install the plugin and open its settings.
  2. Enter the endpoint, region, bucket, access key and secret key, and an optional folder.
  3. Choose the schedule and how many copies to keep.
  4. Optionally enter a passphrase to encrypt everything before it leaves your server (AES-256-GCM). Keep the passphrase safe: without it a backup cannot be restored.

How it runs

The scheduler runs s3-backup:tick every minute in the background. It does nothing unless a backup is due or in progress. A backup is a series of small steps saved after every part and file, so a backup that takes longer than one pass, or is interrupted, carries on where it stopped. The cron job is required. Large files are uploaded as multipart uploads.

Commands

php artisan s3-backup:run
php artisan s3-backup:decrypt backup-file.enc

s3-backup:run makes a backup now and waits until it is finished (use it from SSH for very large installations). s3-backup:decrypt decrypts a downloaded backup; it asks for the passphrase.

Also keep

Save a copy of your .env file separately. It holds the application key needed to read encrypted values in the database. See Backups and restore.

Powered by WHBMP