A home server backup probably works only when you have confirmed three things:
- It contains the data you actually need.
- It is stored somewhere that will survive the failure you are protecting against.
- You can restore files, configuration or a complete service from it.
Seeing a successful backup message is not enough.
A backup job can finish without errors while missing important folders, databases, configuration files or Docker volumes. The only reliable way to gain confidence is to inspect the backup and test a restore.
A completed backup is not automatically a usable backup
Many backup systems show a green tick, a completion message or a recent timestamp.
That tells you that a process ran. It does not necessarily prove that all important data was included.
A backup may still be incomplete because:
- A folder path changed
- A Docker volume was not included
- A database was copied incorrectly
- An application was running during the backup
- A destination disk was full
- Permissions prevented files from being read
- Encryption credentials were not documented
- Old backups were overwritten
- The backup exists only on the same physical server
The first question should therefore not be:
Did the backup job run?
It should be:
Could I rebuild or recover the service from what was saved?
1. Decide what you are trying to protect
Before testing a backup, define what a successful recovery would mean.
Different services require different types of data.
For a basic file server, you may only need:
- User files
- Shared folders
- Permissions
- Relevant configuration
For a Docker service, you may need:
- Compose file
- Environment file
- Bind-mounted folders
- Named volumes
- Database dump
- Application configuration
- Secrets or API keys
- Reverse proxy configuration
For services such as Nextcloud, Paperless-ngx or WordPress, copying only the visible user files is usually not enough. The application may also depend on a database, configuration files and supporting services.
Write down the minimum information you would need to recover each important service.
That list becomes your backup checklist.
2. Check what the backup actually contains
Open the backup destination and inspect it.
Do not rely only on the backup software dashboard.
Check whether you can find:
- Recent files
- Configuration folders
- Database exports
- Docker Compose files
- Environment files
- Application data
- User uploads
- Important scripts
- Backup logs
- Previous backup versions
Compare the backup contents with the live system.
For example, if your live application data is several gigabytes but the backup contains only a few megabytes, something is probably missing.
Also check timestamps. A backup folder may exist but may not have been updated for weeks.
3. Confirm that databases are backed up correctly
Databases need special attention.
Simply copying a live database directory is not always a safe or portable backup method. The database may be writing data while the files are copied, leaving the backup inconsistent.
For database-backed services, a proper database dump is often the safer recovery asset.
Examples include:
- PostgreSQL dump
- MariaDB or MySQL dump
- Application-specific export
- Backup created using the project’s documented method
Check that the dump file:
- Exists
- Has a recent timestamp
- Is not empty
- Is included in the off-server backup
- Can be read or validated
A database dump is still not fully proven until it has been restored successfully, but checking the file is an important first step.
4. Check where the backup is stored
A backup on the same disk as the original data protects mainly against accidental deletion or a bad update.
It may not protect against:
- Disk failure
- Server failure
- Theft
- Fire
- Water damage
- Ransomware
- Power damage
- Filesystem corruption
A common backup baseline is the 3-2-1 approach:
- Three copies of the data
- Two different storage types or locations
- One copy stored separately or off-site
A home setup does not need to be enterprise-grade, but the backup destination should match the risk you are trying to cover.
For example:
- Local backup disk for quick recovery
- Separate NAS or server for hardware failure
- Encrypted cloud or off-site copy for major local damage
If the original data and every backup disappear when one machine fails, the setup is not sufficiently separated.
5. Check whether old versions are available
A backup that stores only the most recent copy may not help if damaged or deleted data has already been synchronised into the backup.
Version history or snapshots can protect against:
- Accidental deletion
- Incorrect edits
- Corrupted files
- Ransomware
- Application errors
- Unnoticed data loss
Check:
- How many versions are kept
- How long deleted files remain recoverable
- Whether older backups are automatically removed
- Whether the available retention period matches how quickly you would notice a problem
A seven-day retention period may be enough for an obvious failure. It may be too short for a problem that remains unnoticed for a month.
6. Review the backup logs
Backup logs can reveal problems that a simple success message hides.
Look for:
- Permission denied errors
- Skipped files
- Failed mounts
- Missing source folders
- Destination storage errors
- Network interruptions
- Disk space warnings
- Database export failures
- Encryption errors
- Repeated partial backups
A warning may not cause the entire job to fail.
That means the dashboard can still look successful while an important directory was skipped.
You do not need to read every line after every backup. But you should review logs periodically and after any change to the server.
7. Restore one normal file
The simplest useful test is restoring an ordinary file.
Choose a non-critical document or photo and restore it to a temporary location.
Then check:
- Does the restored file open?
- Is the content correct?
- Is the file size plausible?
- Is the timestamp reasonable?
- Can you restore an older version?
- Are filenames and folder structures preserved?
This verifies that the backup is readable and that you understand how the restore process works.
Do not overwrite the live file during the test. Restore it into a separate temporary folder.
8. Restore a folder or small dataset
A single-file restore is useful, but it does not prove that a larger structure can be recovered.
Next, test a small folder containing several file types.
Check whether:
- Subfolders are restored
- File permissions are preserved where required
- Hidden files are included
- Symbolic links are handled correctly
- Long filenames remain intact
- Special characters are preserved
This can expose problems that are invisible during a simple file restore.
9. Test the recovery of one service
For an important service, the strongest test is a small recovery exercise.
This does not always require rebuilding the entire production server.
You might:
- Restore the Compose file into a test folder
- Restore a database into a temporary database
- Restore application data to a test container
- Recreate a non-critical service on another machine
- Confirm that the restored application can start and read its data
The exact method depends on the application.
The important point is to test enough of the process to reveal whether your backup is genuinely usable.
For complex services, a successful file restore alone is not enough.
10. Check whether you have the information needed to decrypt and access it
Encrypted backups are valuable, but encryption creates another recovery dependency.
Make sure you have access to:
- Encryption password
- Recovery key
- Backup software credentials
- Cloud account
- Two-factor authentication recovery method
- Storage access credentials
- Documentation explaining the restore process
Do not store the only copy of the backup password inside the server being backed up.
If the server fails and takes the credentials with it, the backup may become inaccessible.
11. Document the restore process
A short restore note can save a great deal of stress.
Document:
- Where the backups are stored
- Which tool created them
- How to access the destination
- How to decrypt the backup
- How to restore a file
- How to restore the database
- Which folders belong to each service
- Which image versions or software versions may be needed
- Who else can access the backup if you are unavailable
The documentation does not need to be long.
It needs to be understandable when something is already broken and you are working under pressure.
12. Repeat the test after major changes
A backup test is not permanent proof.
Repeat it after changes such as:
- Moving Docker volumes
- Replacing disks
- Changing backup software
- Updating database versions
- Migrating a service
- Changing encryption
- Moving to another cloud provider
- Renaming folders
- Rebuilding the server
- Adding a new important application
A backup configuration that worked six months ago may no longer cover the current setup.
Common signs that a backup may not be reliable
Your backup needs attention if:
- You have never restored anything
- You do not know what folders are included
- You do not know where Docker volumes are stored
- There is no database dump
- Every copy is on the same server
- You never review backup logs
- The destination disk is nearly full
- The backup password exists only on the server
- There is no version history
- You could not explain how to rebuild an important service
These do not automatically mean the backup is useless.
They mean that its reliability has not yet been demonstrated.
How often should you test a home server backup?
There is no single schedule for every home server.
A practical starting point is:
- Check backup job status regularly
- Review logs monthly
- Restore a sample file every few months
- Test important services after major changes
- Perform a broader recovery test at least periodically
Critical or frequently changing data should be checked more often than replaceable media or archived files.
The right frequency depends on how much data you could afford to lose and how difficult the service would be to rebuild.
When a written Home Server Setup Check can help
You can perform many backup checks yourself.
However, backup setups often become complicated over time. Services are added, folders move, databases change and old backup jobs continue running without covering the current system properly.
The written Home Server Setup Check is designed for people who want a practical second pair of eyes on their small home server.
The review can help identify questions such as:
- Is important application data included?
- Are Docker volumes and databases accounted for?
- Are backup locations sufficiently separate?
- Is the recovery process understandable?
- Are important gaps or single points of failure visible?
It is a written review, not an emergency recovery service or live support call.
The free guidance in this article helps you test the general principles. The paid check reviews how those principles apply to your own setup and provides prioritised written next steps.
You can also view the example Home Server Setup Check report to see the style and level of detail provided.
Final backup check
A useful backup should answer four questions:
- What exactly is protected?
- Where is the backup stored?
- How far back can you recover?
- Have you successfully restored something?
When all four answers are clear, you have more than a backup job.
You have the beginning of a recovery plan.
Not sure whether your current backups cover the important parts of your home server?
The written Home Server Setup Check reviews your setup, backup approach, Docker services and recovery risks, then provides practical prioritised next steps.
Find our advice useful?
Add OTTA as a preferred source on Google.
