The admin’s worst day: the server is down and not coming back. Ten customers without their WordPress site and email, and all of them will call. If the source server dies, does the Salvo backup bring the accounts back whole on another server? How long does it take, and what comes back different?
Why it matters to whoever runs the server
- The 10 accounts came back on another server, on an older cPanel, with 0 emails lost and all 987 database tables identical to the backup.
- 99.96% of customer files identical byte for byte, and each of the 251 different ones explained. That’s what the admin needs to tell the customer what came back, without guessing.
| What came back | Result |
|---|---|
| Customer files compared (sha256) | 572,536 |
| Identical | 572,285 (99.96%) |
| Different, each explained in the method | 251 |
| System files (the server recreates or rewrites them) | 121,871, not counted |
| Email messages lost or different | 0 |
| Databases and tables identical to the backup | 16 databases, 987 tables |
| Domains, mailboxes, quotas, FTP, cron, SSL | same |
| Recover the 10 packages from the storage | 87 min |
| Restore in cPanel, one account at a time | 78 min |
| Until the last account was live | 2 h 45 min |
Method
The same 10 accounts as Labs 14 and 15 (about 55 GB, 660 thousand files and 16 databases), from the incremental backup.
Another cPanel server, of an older version, that had never seen these accounts. It received only what a customer would keep off the server: the Salvo program, the backup catalog and the keys. The source server was not used.
Separate phases, to measure each one: recover the 10 cPanel account packages from the storage, 3 accounts at a time; restore each account with cPanel’s official tool; compare everything, source vs destination.
Contended storage: recovery ran during other customers’ backup window. The storage disk was already 89% busy before starting, and the other customers read 2.7× more data than Salvo in the same window.
In the databases, 63 of the 987 tables differed from the source at comparison time, because the sites kept running after the backup; compared with the backup, all are identical.
Customer files vs system files. Customer: websites, uploaded files, messages and mailbox settings. System: what the server recreates on its own or only uses to run, such as the mail server’s indexes, panel and website caches, logs and temporary files. The 251 customer files that differ: 75 photos uploaded to the site after the backup; 150 the default exclusion list leaves out by rule (archives, .sql database copies, plugin backups, log folders, trash and temporary files); the .htaccess, php.ini and .user.ini files with the new server’s PHP version, and the webmail database converted by the panel; 2 messages that changed at the source after the backup (one was read, another deleted); and 6 files foreign to the account, which the panel adjusted or which were renamed at the source.
What we decided
Before starting a recovery, Salvo will check that the destination server has the same software versions as the source.