Documentation  ·  Revolutionary Backups 0.6.12

Revolutionary Backups, from first backup to full restore.

How to schedule backups, connect remote storage, encrypt your archives, restore safely and script it all with WP-CLI.

Released version 0.6.10

Current release setup and checks

Schedule file and database backups, keep off-site copies and verify a backup before restoring it.

  • Choose from ten destinations, including dedicated Backblaze B2 and Cloudflare R2 entries.
  • SFTP / SCP uses bundled phpseclib and no longer needs the PHP ssh2 extension.

Check your setup

  • Test the selected connection and run a small backup before relying on the schedule.
  • Check the activity result and practice a restore on a separate test site. Keep the encryption passphrase outside WordPress.

Watch the walkthrough

Create a local WordPress backup and locate Restore

Create a manual local backup, verify its files and database components, and locate the Restore action without opening or running it. Recorded on a fictional demo site.

Recording release: 0.6.8. Captured on an isolated demonstration site.

Chapters

Quick start

Up and running in minutes

Step 1

Install and activate

Upload revolutionary-backups.zip under Plugins, Add New, then activate. Backups appears under the Revolutionary Plugins menu.

Step 2

Take your first backup

Open the Backup / Restore tab and click Backup Now. You get a files archive and a database dump on the server.

Step 3

Connect remote storage

On Settings, pick a destination, enter or connect its credentials and click Test connection before saving.

Step 4

Set a schedule

Choose how often files and the database run and how many backups to keep. Both schedules start on manual.

Start here

Where everything lives

Everything is on one page under Revolutionary Plugins, Backups. The tabs are Dashboard, Settings, Backup / Restore, Activity and Advanced Tools. You need the manage_options capability to see them.

yoursite.com/wp-admin/admin.php?page=revolutionary-backups&tab=d
Backups dashboard

Requirements

  • WordPress 5.8 or later and PHP 7.4 or later
  • The PHP ZipArchive extension
  • No PHP ssh2 extension is required for SFTP / SCP
  • OpenSSL with AES-GCM, for encrypted credentials and archives

License and updates

Your Revolutionary license key is entered once for the whole suite, in Multipurpose Dashboard, Welcome. Backups uses it for automatic updates from revolutionaryplugins.com. Backup / Restore is always available.

Off-site copies

Connecting remote storage

Pick a destination on the Settings tab, fill in its details, and test the connection before saving. Credentials are stored encrypted.

yoursite.com/wp-admin/admin.php?page=revolutionary-backups&tab=s
Schedules, retention and remote storage
DestinationHow you connectNotes
Amazon S3Access key, secret, bucket and regionAlso works with S3-compatible providers through their S3 endpoint. Supports remote restore and remote pruning.
Backblaze B2Application key, key ID, bucket and regionDedicated S3-compatible destination with multipart uploads, fetch-back and remote pruning.
Cloudflare R2Access key, secret, account endpoint and bucketDedicated S3-compatible destination with multipart uploads, fetch-back and remote pruning.
DropboxConnect button, or paste a refresh tokenUploads in 10 MiB chunks
Google DriveConnect button, or paste a refresh tokenUploads in 10 MiB chunks
Microsoft OneDriveConnect button, or paste a refresh tokenBrowse folders picker. Personal Microsoft accounts should paste a refresh token.
Google Cloud StorageService-account key
Microsoft Azure BlobStorage account name, account key and container
SFTP / SCPHost, port, login and pathUses bundled phpseclib; no PHP ssh2 extension required
WebDAVHTTPS address and loginHTTPS only

Using the Connect button

  • 1. Create an app with Dropbox, Google or Microsoft.
  • 2. Copy the OAuth redirect URI shown on the Settings tab and register it on your app.
  • 3. Enter your app's client details, then click Connect and approve access.
  • 4. Click Test connection, then save.

Automation

Schedules and retention

Files and database have their own schedule and their own retention, so you can back up a busy database often without copying every image each time.

SettingDefaultWhat it does
Files scheduleManualEvery 2, 4, 8 or 12 hours, the standard WordPress intervals, fortnightly or monthly
Database scheduleManualSame choices as files
Keep (files / database)2 eachHow many backups of each kind to keep
Keep for days (files / database)OffAlso remove backups older than this many days
Scheduled incrementalsOffScheduled file runs add only changed files
Full backup after7 incrementalsStarts a fresh full backup when the chain reaches this length

How retention decides

  • The newest backup of each kind is never deleted.
  • A full backup that a kept incremental depends on is never pruned.
  • Remote copies on Amazon S3 follow the same rules.

Scope

What to include and exclude

Settings controls which folders go into the files backup.

  • Plugins, themes, uploads, must-use plugins and other wp-content folders, each with its own checkbox (all on by default).
  • Exclusion patterns with * wildcards. Common backup and cache folders from other plugins are excluded out of the box.
  • A skip files larger than N MB limit to leave out big videos or archives.

Privacy

Encryption

Turn on encryption in Settings to encrypt every archive and database dump at rest with AES-256-GCM, derived from a passphrase you choose.

  • 1. Open Settings and turn on encryption.
  • 2. Enter a strong passphrase and save.
  • 3. Note the key fingerprint shown beside it.

Restoring on another site

Encrypted sets end in .enc. On the other site, enter the same passphrase and confirm the fingerprint matches before you upload and restore.

Encryption with incrementals

Incremental backups work with encryption. If no passphrase is configured, incrementals fall back to full backups.

The part that matters

Restoring

Restore any set from the Existing backups table on Backup / Restore, and choose files, database or both.

yoursite.com/wp-admin/admin.php?page=revolutionary-backups&tab=b
Backup and restore

What happens during a restore

  • 1. The set's SHA-256 checksums are verified. A mismatch stops the restore.
  • 2. A snapshot is taken of the files and database about to be overwritten.
  • 3. The backup is restored. Incremental chains are applied in order, starting from their full backup.
  • 4. If anything fails, the snapshot is restored automatically.

Restoring a backup from another site

Drag the backup files onto the upload zone. Uploads run in the background, survive switching tabs, resume after an interruption and go past PHP's upload size limit. The set then appears in Existing backups.

Restoring from Amazon S3

Click Rescan remote storage under Remote backups, fetch the set back to the server, then restore it like any local set.

Staying informed

Notifications and activity

Know when a run fails without checking the dashboard.

yoursite.com/wp-admin/admin.php?page=revolutionary-backups&tab=a
Run history and activity log
SettingDefaultWhat it does
Email on failureOnSends an email when a run fails
Success reportOffAlso emails after successful runs
Notification addressAdmin email if emptyWhere emails go
Webhook URLEmptyReceives a JSON payload after each run, for Slack, Teams or monitoring

The Activity tab

Run history shows each run's outcome, trigger, duration, parts and errors, and can be filtered by status. The log below it is searchable. Export either as CSV or JSON.

Maintenance

Advanced Tools

A sidebar of tools for checking the site and managing the plugin.

ToolWhat it shows or does
Site informationServer software, PHP and MySQL versions, paths and table prefix
Plugin lockSets a password that gates every Backups screen, action and download. Each unlock lasts one hour.
Site sizeHow much space each part of the site uses
Database sizeEvery table and its size
CronScheduled events, including the plugin's own backup jobs
Export / import settingsCopy your settings to or from JSON. Credentials stay encrypted in the export.
Wipe settingsResets the plugin's settings to defaults
yoursite.com/wp-admin/admin.php?page=revolutionary-backups&tab=a
Advanced Tools: site size

For developers

WP-CLI

Every core task is available from the command line under wp revbackups.

CommandWhat it does
wp revbackups backup [--incremental] [--files-only|--database-only] [--skip-remote]Runs a backup
wp revbackups list [--format=table|json|csv|yaml]Lists backup sets
wp revbackups restore <backup-id> [--components=files,database] [--yes]Restores a set
wp revbackups verify [<backup-id>]Checks checksums. Exits non-zero on any failure.
wp revbackups send <backup-id> [--destination=<key>]Sends a set to remote storage
wp revbackups test-connection [<destination>]Tests a destination's credentials

Troubleshooting

Common questions

Scheduled runs depend on WP-Cron, which only fires when the site gets visits. Load any admin page to re-arm missing events, and set up a real system cron on low-traffic sites.

Make sure the OAuth redirect URI shown on the Settings tab is registered on your app exactly as shown. For personal Microsoft accounts, paste a refresh token instead.

The archive changed or was damaged after it was made. Try another set, or fetch a fresh copy from remote storage.

Apache and IIS protection files are written for you. On nginx, add a location rule that denies access to wp-content/uploads/revolutionary-backups/.

It was removed in 0.6.0 so Backups can focus on backup and restore.

Stuck on something?

Search the forums, open a ticket, or write to us. A real person reads every message.