A customer deletes one image from their media library. Another overwrites the settings table in their WordPress database. A third empties their Sent folder by accident. Three small mistakes, and on most hosting panels, three bad options: restore the entire site from last night and lose everything since, or dig through a tarball by hand over SSH.
Unicorn Panel was built so the restore matches the mistake. Websites, databases, mailboxes and panel configuration are backed up separately, and you can put back exactly one file, one table or one mail folder, leaving everything else untouched.
Why "whole site" backups fall short
Most panels back up an account as one archive: files, databases and email together. That is simple to create but clumsy to restore. The restore has to be as big as the backup, which means one of two things:
- You over-restore, rolling back work that was fine to fix one thing that was not.
- You extract by hand, downloading a large archive, finding the file or table you need, and putting it back manually.
Email is the worst case. Restoring yesterday's mailbox over today's usually means losing every message that arrived in between. Customers notice that immediately.
A backup model organized by resource
Unicorn Panel organizes backups by what they contain, not by which server they came from. The backups page lists the layout:
| Resource | Location | Backup method |
|---|---|---|
| Websites | /backups/websites/<UID>/ | Site files plus tagged databases, incremental |
| Databases | /backups/databases/<name>/ | Per-database SQL dumps |
| Mailboxes | /backups/emails/<user>_at_<domain>/ | Per-mailbox maildirs, incremental |
| System | /backups/other/system/ | Panel databases, DNS zones, service configs |
Each resource type gets the right semantics: incremental file backups for sites, consistent SQL dumps for databases, and per-mailbox maildirs for email. The Primary panel sees every backup row across the whole fleet, filtered into Websites, Databases and Emails tabs.
Restoring exactly what you lost
Every website, database and mailbox has a Restore button next to its Download button. Click it and you get a browsable view of what is inside that backup, with sizes, row counts and message counts. Tick what you want back and leave the rest alone.
Websites, file by file
Browse the folder tree as it stood when the backup ran, with sizes and modified dates on every entry. Deleted one file? Tick that one file. The site's container stops for the extract so nothing races the writes, then starts again on its own.
Databases, table by table
Every table in the backup is listed with an estimated row count and size. Overwrote one table by mistake? Restore that table only. Or take the full restore and rebuild the database from the dump.
Table-level restore is rare among hosting panels. When we checked in September 2026 for our comparison, none of cPanel, Plesk, DirectAdmin or Virtualmin could restore a single database table from the panel. Our cPanel alternatives guide covers the full comparison.
Mailboxes, folder by folder
INBOX, Sent, Drafts, Trash, Archive and any custom folders are listed with message counts and sizes. The key detail: merge is the default. Missing messages come back, and mail that arrived since the backup stays exactly where it is. If you really do want to roll the mailbox back to the backup, one checkbox switches to a hard rollback.
A mailbox restore brings back mail data and nothing else. Passwords, quotas, aliases and forwarders stay as they are. Active IMAP sessions are closed cleanly first so the mail server is not holding files open mid-restore. There is more on Unicorn's mail suite in self-hosted email for web hosts.
Hard to do by accident
Granular restore is powerful, so it has guard rails:
- Type the name to unlock. The Restore button stays locked until you type the target: the domain for a site, the database name for a database, the address for a mailbox. The server checks it again on arrival, so a tampered page cannot skip the step.
- Clean stop, clean start. Site containers stop for the extract and restart the moment it finishes.
- A clear report. The restore modal tells you how many files, tables or messages were written.
How backups run
Incremental plus weekly fulls. Daily incrementals keep each run small. A weekly full resets the chain, so a restore never depends on months of history. Mail that moves between folders is tracked properly rather than duplicated.
Consistent database dumps. Dumps are taken in a single transaction, so a busy database is captured at one coherent point in time. Compression happens in the pipe, and a failure anywhere in it is reported instead of leaving a truncated file that looks fine.
Throttled, not disruptive. You set the share of CPU a backup run may use. Turn it down during busy hours, up when the server is quiet.
Scheduled by the hour. Pick the exact hours the backup runner fires, in server local time, with presets for overnight, twice daily, every six hours or hourly. Set it fleet-wide and override per host.
Retention you control. Separate daily and weekly retention windows, with orphaned folders ageing out on their own.
Backup now. Run a manual backup whenever you want, with a force-full option before a risky change.
Backups before upgrades. Every panel upgrade snapshots state first, so a bad upgrade is a restore rather than a rebuild. A live system safety snapshot also captures panel state, keys, DNS zones and every service config tree.
Getting backups off the server
A backup that only lives on the server it came from is not really a backup. Unicorn Panel gives you two ways to move copies elsewhere.
Another server in your fleet. Per-host backup roles decide which servers keep backup files and which push them off. A dedicated backup server in the fleet can hold copies for the others, and backups on another server restore in place, with no SSH and no manual unpacking. The Primary can download any Secondary's backup by streaming it through, without staging it on its own disk first. See how the fleet fits together in our multi-server pillar guide.
Remote destinations. After each run, archives can be pushed to one or more remote targets in the order you set:
- S3-compatible object storage
- SFTP
- rsync to anything you already run
If one target fails, the others still run and the failure is reported. You can test a target from the settings page before relying on it, optionally delete the local copy after a successful transfer, and keep separate daily and weekly retention on the remote side. Credentials for remote destinations are encrypted at rest with AES-256-GCM and never sent back to the browser once saved.
Frequently asked questions
Can I restore a single file from a website backup? Yes. Browse the backup's folder tree and tick the files you need.
Can I restore one database table without touching the rest? Yes. Every table is listed with row counts and sizes, and you can restore just the one you need.
Will restoring a mailbox delete new mail? Not by default. Mailbox restores merge, so mail received since the backup is kept. A hard rollback is an optional checkbox.
Where can backups be stored? Locally, on another server in your fleet, or on S3-compatible storage, SFTP or rsync targets.
Are granular restores available on the free plan? Yes. The backup system is the same on every plan.
Backups that respect how people actually make mistakes
Most restores are small: one file, one table, one folder. Unicorn Panel's per-resource backups make small restores fast, safe and precise, with the full-restore option still one click away. Install it free on two servers:
wget -qO- https://unicornpanel.com/install | sh
Or open the live demo to explore the restore browser.