Lab 23 · Compatibility

WordPress backup with email: 6 real sites restored by Salvo and by JetBackup

Date: Oct 19, 2026Server: cPanel test server, 8 cores, 6 real accounts copied from productionReading time: 5 minTopic: Compatibility
The question

The server went down, or someone deleted the accounts: the customer wants the WordPress site back, and the whole email, including the messages they haven’t read yet. With real customer accounts (WordPress sites, shops, real mailboxes), what happens when you back up, lose everything and restore, with JetBackup and with Salvo, on the same server and the same storage?

Result
99.98%of customer files identical to the original on Salvo (125,636 of 125,661), with all 19,667 email messages. On JetBackup, 99.45%
648email messages JetBackup did not bring back: the spam and trash folders and the unread messages of the account’s main mailbox. They were not in its backup: we checked on the storage
−21%storage space: 5.26 GB on Salvo, versus 6.70 GB on JetBackup, on the first backup of the same 6 accounts

Why it matters to whoever runs the server

  • Email is where the customer notices first. Getting the account back without unread messages, spam and trash turns into a ticket the same day. On Salvo, all 19,667 messages came back; on JetBackup, 648 were missing, and they were not in its backup. How we checked every file and message against the original in other restores:See:Lab 16Lab 18Lab 19Lab 21
  • Space: the same 6 accounts took 5.26 GB on Salvo and 6.70 GB on JetBackup, 21% less on the very first backup. And the backup finished in 60 s, versus 98 s. To see where the savings come from: compression and one repository per account (Lab 02), what doesn’t need a backup (Lab 10) and 166× fewer files on the storage (Lab 14).See:Lab 02Lab 10Lab 14
  • 199 files came back with a different owner or permission on JetBackup, and none on Salvo. A wrong permission is a WordPress site with an error and a customer opening a ticket.
  • Where Salvo lost: the restore. One account at a time, waiting for the server load to drop, it took longer on the clock. With 5 at a time, like JetBackup, it came close on time but weighed more on the server. It is all below, with what already changed in Salvo because of it. We were not satisfied, and that led to new improvements. The new options came from Lab 21, and the next step is in Lab 24:See:Lab 21Lab 24
The first backup of the 6 accountsBoth tools with 3 accounts at a time, on the same storage. On the right, how many times faster.

How to read it: grey is JetBackup, blue is Salvo. It is the first backup of the same 6 accounts, both tools with 3 accounts at a time, writing to the same storage. Salvo finished 38 s earlier and still took 21% less space (5.26 GB versus 6.70 GB).

Restoring the 6 accounts: each tool with its defaultJetBackup with 5 accounts together; Salvo one at a time, before and after the new reading options.

How to read it: each bar is the restore of the 6 accounts. Blue is time spent restoring. Grey is Salvo waiting on purpose: before each account, it waits for the server load to drop, so it does not weigh on other customers’ sites. JetBackup does not wait: it restored 5 accounts together and pushed the load of the 8-core server to 24.5. From the 2nd to the 3rd bar, the new reading options nearly halved the time spent restoring (19 min 06 s to 10 min 35 s); the wait grew because that round fell at the server’s busiest hour.

Same conditions: both with 5 accounts togetherRestoring the 6 accounts, one tool right after the other, neither waiting for the load to drop.

How to read it: here Salvo worked like JetBackup, 5 accounts together and without waiting for the load to drop. It came in 59 s behind and weighed more on the server: peak load of 37.3, versus 23.0, and 19 GB more disk at peak, versus 7 GB. That is why Salvo does not use 5 at a time as the default. We were not satisfied with these results. They led us to rethink how to restore and to new improvements in Salvo, measured with the same 6 accounts in Lab 24.See:Lab 24

Source: Salvo Lab · 6 real WordPress accounts · Oct 19, 2026
JetBackupSalvo
1st backup of the 6 accounts (3 at a time)98 s60 s
Space on the storage6.70 GB5.26 GB
Customer files identical (125,661)99.45%99.98%
Email messages (19,667)648 missingall
WordPress database tables (321)identicalidentical
Files with a different owner or permission1990
Restoring the 6, each with its default309 s, 5 at a time635 s of work + 833 s waiting for the load to drop, one at a time
Peak load in that restore24.523.0 (the server was already at 12)
Restoring the 6, both with 5 at a time363 s422 s
Peak load, 5 at a time23.037.3
Extra disk at peak, 5 at a time+7 GB+19 GB

Method

Six accounts from a production server, copied to a cPanel test server with 8 cores: two small (130 to 150 MB, a WordPress site and database), two medium (~1 GB, WordPress, databases, mailboxes and several domains) and two large (~3.2 GB, WordPress, up to 3 databases and 10 to 18 mailboxes).

Before anything, a snapshot of each account, used as the answer key: the hash of every file, the checksum of every table and the messages in every mailbox. That is 125,661 customer files (sites, uploads, messages and mailbox settings), 321 tables and 19,667 messages. Files the system recreates on its own (email indexes, panel caches, logs) are left out of the count.

Backup of the six by JetBackup and by Salvo, one after the other, both tools with 3 accounts at a time, on the same storage. JetBackup ran with the configuration of a real job, with no changes for the test.

Then the six accounts were deleted and restored, comparing with the snapshot each time: by JetBackup (5 at a time, its default); by Salvo with the old options and with the new storage reading options (several connections, the backup fetched whole first), one account at a time; and finally both tools with 5 accounts at a time, one right after the other.

The server was measured from start to end of each phase, every 2 seconds; the space on the storage, at the end of the first backup.

What we found and changed in Salvo during the test

This lab was not a single measurement: each round showed something, and Salvo changed along the way. 1. To set up the test, we had to restore 6 cPanel packages at once, and Salvo did not do that. Now it does: several packages in a queue, from the screen, the command line and the API. 2. The check after the restore warned that messages were missing when the package kept repeated messages as hardlinks. It was a false warning: the messages were there. Fixed, with an automated test so it does not come back. 3. The queue showed an estimated start even while it was waiting for the server load to drop. Fixed. 4. Restoring one account at a time with the old options, Salvo spent more than 12 minutes just reading the backup of the 6 accounts from the storage. With the options born in Lab 21 (several connections and the backup fetched whole first), the same reading dropped to 40 seconds. What is left is the panel recreating each account. 5. Even so, the clock barely moved (25 min 08 s to 24 min 28 s): before each account, the queue waits for the server load to drop, and that round fell at the busiest hour. The wait was longer than the work itself. 6. So we put Salvo under the same conditions as JetBackup, 5 accounts together and no waiting: 422 s versus 363 s, with a load of 37.3 and 19 GB more disk. Not worth it. We were not satisfied with these results. They led us to a new way of restoring and to more improvements in Salvo, which we measured with the same 6 accounts in Lab 24. What did not need to change: in every Salvo round, messages, databases and permissions came back right. What was missing was only what the default exclusion list leaves out on purpose (25 .sql, .zip and .wpress files kept inside the site, and plugin temp folders), and JetBackup leaves those out too.

?
What we don’t know yetOne server, one storage and six accounts. The server load was higher in the last phases, at the busiest hour. JetBackup has options that change what goes into the email backup; we used the configuration of a real job and did not test others. Each tool’s restores ran one after the other, not at the same time.
Want to see Salvo on your server?Join the beta waitlist. We’ll let you know when there’s a spot.

How it connects to the other labs

Faster backups
30 MB30 MB of cache for 233 thousand files, and deleting it cost nothingLab 01 · Oct 14, 20263×The limit was the encryption, not the network: switching ciphers tripled the uploadLab 06 · Oct 15, 20268 msCompression is the costliest step of the backup; encryption barely registersLab 07 · Oct 15, 2026141The engine uploads 141 MB/s reading one file per core; 4 accounts together used 2.4 GB of memoryLab 08 · Oct 15, 202633 s3 full cPanel accounts in 33 s on a production server; the incremental, in 7 sLab 09 · Oct 15, 20264 sThe next-day backup, before dawn and cold: 4 s for 21 thousand filesLab 12 · Oct 16, 20267.7×The next-day backup on the same 6 accounts: 494 s on JetBackup, 64 s on SalvoLab 13 · Oct 16, 2026166×The first backup side by side: 45% less time and 166× fewer files on the storageLab 14 · Oct 16, 2026
Integrity checked file by file
20 sThe whole account restored on another server: domains, email, identical database and grantsLab 11 · Oct 15, 202699.96%Disaster recovery: 10 whole accounts on another server, 99.96% of customer files identicalLab 16 · Oct 16, 2026100%Restoring a cPanel backup through Salvo: four times, the same result, and 100% of messages identicalLab 18 · Oct 17, 2026~2 minThe account is gone: back, whole, from the backup, in about 2 minutesLab 19 · Oct 17, 20265 of 5Restore only what you need: a database, a mailbox, a few files, all back exactly as they wereLab 20 · Oct 17, 20265.2×We improved Salvo’s restore: a 10 GB account back in 5 min 45 s, at the storage’s worst hourLab 21 · Oct 19, 20263.3 sWordPress: restore only the table that broke, in 3 seconds instead of 2 minutesLab 22 · Oct 18, 2026250 sRestoring WordPress with Salvo faster than with the cPanel package: 6 real sites, one and many accounts at a timeLab 24 · Oct 19, 2026
salvo. Backup for hosting servers. A GK2 product.
Product
Lab
Salvo
Language
© 2026 GK2We use analytics cookies (Google Analytics).salvobackup.com/en/lab/wordpress-backup-with-email-salvo-vs-jetbackup/