A backup nobody has ever tried restoring is not a backup

  • 2 min di lettura

Everyone has a backup. Almost nobody has ever tried using one.

The difference between the two is that the first is a folder that fills up, the second is a procedure someone knows how to run. And you find out which one you had at exactly the moment when you can no longer find out.

The five ways a backup fails

1. It exists, but it is incomplete

The database is saved and the uploaded files are not. Or the files and not the database. Restoring gives you a site with all the text and no images, or all the images and no content.

2. It exists, but it is on the same server

If the problem is the disk, ransomware or a compromised account, the backup goes with everything else. A copy that shares the fate of the original is not a copy.

3. It exists, but it is old

The scheduled job stopped three months ago on an error, and nobody reads the logs. It is the commonest case of all, and the easiest to avoid: you want an alert when the backup does not run, rather than one when it does.

4. It exists, but nobody can restore it

The person who set it all up has gone, the control panel password cannot be found, the format belongs to a plugin that has since been uninstalled.

5. It exists, but it takes three days

Technically it works. It is just that your business system is down for three days, and nobody had ever worked out what that costs.

The test that costs half an hour a year

Once a year, restore the backup onto a separate environment and try logging in. Nothing more is needed. If it works, you have a backup. If it does not, you found out on an ordinary day instead of on the worst one.

Note two numbers while you do it:

  • How long it took. That is how long you would be down.
  • How much work would have been lost. If the backup is from last night and the failure is at 5pm, you lose a day of data. Is that acceptable? If so, good. If not, the backup needs to run more often.

The sensible minimum

An automatic daily copy, kept at least thirty days, on a service other than the one hosting the site, with an email alert when it fails, and one restore test a year marked in the calendar.

It is not a complicated setup. It is just something to decide once instead of postponing forever.