Skip to content
Let’s talk
GREY WING SECURITY
All guides
Guide
Corporate security

How to Test a Backup Restore Before You Need One

List what you would need back, set recovery targets, restore into a safe place, check the data is right, and write down how long it took.

Updated 6 min read

At a glance

Who it is for
The engineer or IT owner responsible for production data, company files, and the backups behind them.
Time needed
A few hours for a first test of one system. Large databases can take longer to restore. Repeat tests are faster once the steps are written down.
What you end up with
A dated restore record, a measured restore time, and a short list of backup gaps to fix.

If you have never restored a backup, you do not know whether it works. A test gives you that answer on a quiet day, while there is time to fix what it finds.

CISA's #StopRansomware Guide tells organizations to keep offline, encrypted backups of critical data and to regularly test their availability and integrity. It explains why the offline part matters: many ransomware variants look for reachable backups and delete or encrypt them. The NIST Cybersecurity Framework 2.0 has the same idea as outcome PR.DS-11: backups of data are created, protected, maintained, and tested.

This guide walks through one restore test from start to finish.

1. List what you would need back

Write down the systems you could not run the business without. For a small software company, that list often includes:

  • The production database
  • File and object storage, such as buckets that hold customer uploads
  • Code repositories and the infrastructure code that builds your cloud setup
  • Secrets and configuration needed to run the app
  • Company files and email in Google Workspace or Microsoft 365

Rank them. The top two or three are where your first test goes.

2. Set two targets with the business

Two numbers tell you whether a restore was good enough. Both come from NIST's contingency planning guide, SP 800-34 Rev. 1, and NIST's glossary defines them.

These are business decisions. Ask the founder or the head of the product: "If the database were gone at 9 a.m., when must it be back, and how much of this morning's data can we lose?" Write the answers down. The test tells you whether you can meet them.

3. Check where the backups live

Before you restore anything, look at the backups themselves.

  • Each system on your list has a backup, and you know where it is.
  • Backups are encrypted.
  • At least one copy is offline or in a separate account, so the same stolen admin login cannot delete both the system and its backups.
  • You know who can delete backups, and that list is short.
  • Backups run on a schedule, and someone gets told when one fails.

If any box stays empty, write it down. That is your first finding.

4. Restore into a safe place

Never test by restoring over production. Restore into a separate place, such as a new database instance, a test account, or a scratch folder.

Cloud services often support this. For example, Amazon RDS can restore a database to a point in time as a new instance without changing the source. AWS Backup can run scheduled restore tests and track how long each restore job takes.

Before you start, pick the moment you will treat as the failure, such as the time you begin the test. Then start a timer. Follow your written steps if you have them. If you do not, write the steps down as you go. Those written steps are what you will follow during a real outage.

Treat the restored copy like production data. Lock down who can reach it, and delete it when the test is done.

5. Check the data is right

A restore can finish and still leave you with bad data. NIST CSF 2.0 outcome RC.RP-03 says to verify the integrity of backups before you use them to restore.

  • Compare row counts or file counts with the source.
  • Find the newest record in the restored copy. The gap between that record and the moment you picked as the simulated failure is your real data loss window. Compare it with your RPO.
  • Point a test copy of the app at the restored data and confirm it starts and a user can sign in.
  • Spot-check a few records you know well.

6. Time it and write it down

Stop the timer when people could use the system again. That is usually later than the moment the restore job reports done. Compare that time with your RTO.

Record the test while it is fresh:

FieldWhat to write
Date and who ran itThe test date and the person's name
System and backup usedFor example, the production database and last night's snapshot
Restored toFor example, a new instance in a test account
Time to usableThe measured time, next to your RTO
Data loss windowNewest restored record versus the simulated failure time, next to your RPO
Checks passedCounts match, the app starts, sign-in works
Problems foundSteps that were missing, slow, or failed
Fixes and ownersOne line each, with a due date

That record is the evidence a customer review or an auditor asks for when they ask whether you test your backups.

7. Fix the gaps and set the next date

Fix what the test found, then update your written steps. Put the next test on the calendar before you close this one.

CIS Control 11, Data Recovery, frames the goal as being able to restore systems to a pre-incident and trusted state. CIS Safeguard 11.5 says: "Test backup recovery quarterly, or more frequently, for a sampling of in-scope enterprise assets." CIS lists it for Implementation Groups 2 and 3. It sits outside IG1, the starting set. Our advice is the same: at least once a quarter for your top systems, more often for data that changes fast or that customers depend on, and again after any big change to how you store data. Rotate through the rest of your list over the year.

Where Grey Wing fits

In the Security Program we check backup protection and recovery procedures, and we help you practice your recovery plans with your team. If you want help, Let’s talk.

Sources

Not sure where to start?

Tell us about your systems and deadline. We’ll reply within one business day.

From the blog