Skip to content
Felix Schumann
Editorial illustration: Have a backup? What matters is a tested restoration
Journal / 21

Have a backup? What matters is a tested restoration

Felix Schumann·

A green backup notification establishes that a backup job succeeded according to its rules. Whether the application can run from that backup is a separate question. I also consider operations when developing custom business systems. In a CRM, lost relationships or missing attachments matter just as much as the database file.

Research checked: 2026-09-11 · Cover: AI-generated illustration

Describe the complete recovery

I would first inventory what the application needs: its database, files, configuration and required access. A database export alone does not restore an uploaded document. Credentials must not be copied into an unprotected public test report.

Then agree on two objectives: how much work created since the backup could be lost, and how long restoration may take. Those questions establish an operational requirement. A daily backup does not automatically satisfy a requirement to recover changes from the last minute.

Back up a running database consistently

SQLite documents an Online Backup API that supports backups while the source database remains in use. This differs from carelessly copying a file being modified. Other databases require their own appropriate backup procedures.

I would choose the method around the actual application and verify the resulting state. A successful file copy does not establish that all related parts represent a consistent point in time.

The decision at a glance

  1. 01Back upPreserve a consistent state
  2. 02RestoreUse an isolated environment
  3. 03UseVerify representative tasks
Our schematic illustration of the proposed approach, not measured data.

SQLite: Online Backup API ↗

Restore into an isolated environment

A recovery test should use a separate environment without overwriting production. After restoration, test ordinary tasks: signing in, opening a record, finding an attachment and saving an allowed change. Automatic notifications remain disabled in the test environment.

I would select at least one record with known relationships. For a CRM, that might be an enquiry with related messages and an appointment. Comparing table counts alone does not verify those connections.

Turn a backup into an operational capability

Record which state was restored, which steps were necessary and what remained missing. Instructions understandable only to the original developer are insufficient during a real outage.

When I provide hosting and maintenance for a custom application, recovery requirements belong in the agreement. I can set up a restoration exercise and a relevant test plan for your project, turning “We have backups” into a traceable operational claim.

Sources and further reading