Restora

Description

Restora backs up a WordPress site into one standard zip file: every file in the WordPress folder plus a dump of the database.

  • Full site, or separate files. One zip with everything, or pick the parts (database, plugins, themes, media uploads, WordPress and other files) and get each as its own file, with “Download all” or one by one.
  • Made for limited hosting. The backup runs in short slices and continues where it stopped, even in the middle of a large file, so PHP time limits do not break it.
  • Restore from the admin. The archive is checked from start to finish first, the database is swapped in one atomic step, and a safety backup of the current site is taken beforehand.
  • Schedules. Daily, weekly or monthly backups of the whole site and of the database, keeping only the newest ones.
  • Standard format. The archive is a normal zip you can open anywhere; the database is plain SQL inside .restora/.
  • Closed to the web. Backups live in a randomly named folder and can only be downloaded by an administrator through WordPress.

Why another backup plugin?

Because the hard part of a backup is getting it back, and that is where Restora spends its effort.

  • It finishes on limited hosting. Restora writes one zip and can pause and resume in the middle of any file, so a short PHP time limit on shared hosting is enough for a site of any size, without changing any server settings.
  • The restore is checked before it touches anything. Every file in the archive is verified first, the database is loaded into temporary tables and swapped in one step, and wp-config.php is never overwritten.
  • Nothing is locked. Every feature described here works fully in this plugin, with no account and no service of ours in between. Your backups stay on your server.

Restora Pro

Restora Pro is a separate, paid add-on for those who need more: copies on SFTP and S3-compatible storage, an emergency recovery page that restores the site when WordPress itself is broken, moving the site to another server with one installer, AES-256 encrypted backups (locked with a key pair, so the site itself never holds the key), and one screen to watch and back up all your sites. This plugin does not need it and never asks for it beyond a single card on its screen.

Requirements

  • PHP 7.4 or newer, 64-bit, with the zip, zlib and pdo_mysql extensions (present on almost every host).
  • MySQL or MariaDB.
  • Single sites. Multisite networks are not supported yet.

External services

Restora contacts no external service. The only requests it makes are to your own site, so that a backup can keep itself going in short slices.

Privacy

A backup is a copy of your site, so it contains whatever personal data your site holds (user accounts, comments, orders and so on). It is stored in your own wp-content folder. Restora collects nothing about you or your visitors and sends nothing to its author. Keep downloaded backups somewhere safe.

Screenshots

Installation

  1. Upload the plugin and activate it.
  2. Open Restora in the admin menu and press Create backup.

FAQ

Where are the backups stored?

In wp-content/restora-<random key>/. Its name cannot be guessed, and on Apache and IIS the files Restora puts in it deny web access. nginx ignores those files: Restora checks once a day whether the folder can be reached from the web and, if it can, shows the line to add to the nginx configuration.

What happens to my backups if I delete the plugin?

They stay where they are. Install Restora again and it finds them.

What is left out of a backup?

Cache folders, WordPress upgrade leftovers and the backup folders of other backup plugins. You can add your own paths and patterns in the settings; developers can also use the restora_exclude filter.

From the database, the tables of the site are backed up: WordPress’s own, plus any other tables you choose in the settings. Views, triggers, stored procedures and events are not; WordPress does not use them, but some custom code does.

What happens if a restore stops halfway?

It is undone. Before a file is replaced, its current version is set aside, and the database is only switched over at the very end. If the restore cannot finish (the disk fills up, a folder cannot be written, the window is closed), every file goes back to how it was and the database is left untouched. Before anything is written, Restora also checks that the folders are writable and that there is enough free space.

Do scheduled backups need a real cron job?

No. They start through WP-Cron and then keep themselves going. On a site with very few visits they may start late; a server cron job calling wp-cron.php makes the timing exact.

Does Restora create files outside its own folders?

No. Everything it writes stays in its own randomly named folder in wp-content. While a restore runs, its settings file waits there too (readable by the site only, and without the database credentials, which are read from wp-config.php) and is removed when the restore ends.

Can it restore an encrypted backup?

Yes. Backups encrypted by Restora Pro can be restored here with their password, even without Pro. A lost password cannot be recovered: that is what the encryption is for.

Does it work with multisite?

Not yet. Restora is built and tested for single WordPress sites.

Does a restore delete files?

No. Files that exist on the site but not in the backup are left in place, and wp-config.php is never overwritten.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Restora” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Restora” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.0.0

  • First release: resumable backups of the full site or of separate parts, restore with a safety backup, schedules and retention.