Features

Everything Salvo does, and what comes next

The full list, by type: what already runs, the version it shipped in and which Lab test measured it. What doesn’t run yet shows as planned, never as done.

Version 0.4.3 · updated Oct 18, 2026
171features running
33planned
15types

Panel, command line and API: since version 0.4.0, every new feature ships in all three.

Backup

What gets stored, and how
Runs today
Full cPanel account backup: account settings, files, email and one dump per database Lab 09v0.2.0
Incremental: only what changed is read and sent again; what repeats takes no space twice Lab 12Lab 13Lab 15v0.1.0
Data compressed and encrypted before it leaves the server v0.1.0
Compression per destination: fast, standard or none Lab 02Lab 07v0.2.0
Each account in its own repository on the storage Lab 02v0.2.0
Several accounts at once, with the number chosen per job v0.2.0
A default list of 46 exclusions (cache, logs, WordPress plugin backups, temporary files), drawn from real use and editable Lab 10v0.2.0
Databases without locking tables (InnoDB); MyISAM locked only while it is copied v0.2.0
Database dump streamed straight to the Salvo engine, with no temporary file on disk v0.1.0
A dump that doesn’t finish is a failure, not a backup v0.2.0
A database that disappeared from the account becomes a warning, not an error, and doesn’t count as an old backup v0.3.0
An interrupted run shows as interrupted, with the reason v0.3.0
Maximum time per run: what didn’t make it fails, with the reason v0.3.0
Create a job from the panel and “Run now” v0.4.0
Back up a single account now, or the selected ones, without running the whole job v0.4.3
A backup that recovers on its own: if an account’s files are deleted from the storage from outside, the next backup starts over and says so v0.4.3
WordPress database stored “one file per table”, optional per job Lab 22v0.4.1
Export the account from the backup as a standard cPanel package, to take it to another server Lab 16v0.2.0
Per-account metrics: time, new and sent bytes, memory and CPU v0.1.0
Cancel a running backup: what was already copied counts, the account in the middle does not and cancelling is not an alert v0.4.4
Planned
Backup priority per job (today it’s per server) Planned
Add accounts to a job from the account list, in bulk Planned
PostgreSQL Planned
One backup counting for more than one schedule (Sunday’s counts as the weekly one), without running again In design

Restoring a whole account

The account is gone or broken: how it comes back
Runs today
Restore a standard cPanel backup (the panel’s own file) through Salvo Lab 18v0.4.0
Restore the account straight from the backup on the storage, choosing the day Lab 19v0.4.0
Three modes: new account, replace the current one or merge with it v0.4.0
Replace with a safety copy first (on by default) and automatic rollback if it fails v0.4.0
Suspend afterwards, change the plan or owner, leave paths out v0.4.0
Pre-restore check: existing account, domain owned by another account, existing database, disk, plan, PHP version, IP and owner v0.4.0
Disk check for the chosen method, before writing anything v0.4.1
At the end, backup × restored, item by item: domains, mailboxes, messages, databases, files and scheduled tasks Lab 18v0.4.0
Server charts during the restore: CPU, load, disk and inodes, every 2 seconds Lab 18v0.4.0
Restore steps with the time of each; on failure, the step that stopped and the ones that didn’t run Lab 19v0.4.3
The restore keeps going if the page is closed; the result stays in the history v0.4.0
Restore history with the full log, filter by type and “Load more” v0.4.3
Bring the whole backup to the server before restoring, over several connections: the default, after what we measured Lab 21v0.4.1
Hand the folder straight to the panel, without a compressed package v0.4.1
A clear message when the backup is no longer on the storage, creating nothing in its place, with “Choose another backup” v0.4.1
Several accounts at once: ticked in the list, or the last backup of each one up to a given day (the hacked-server case), with how many accounts, how much space and how long before starting Lab 23Lab 24v0.4.4
Two-track restore: the panel creates the account while Salvo fetches the backup, and the site and email are written straight into place, once Lab 24v0.4.4
Restore queue in plain sight: what is running, how much is left and, for each one waiting, why it is waiting and when it should start v0.4.4
Several restores at the same time (default: 3), and the queue can wait for the server load to drop between accounts Lab 24v0.4.4
Cancel what has not started without leaving an account half-done, and redo only the ones that failed v0.4.4
Several cPanel packages at once, to bring several accounts from another server Lab 23v0.4.4
Fast restore without asking: two tracks, the backup fetched whole first and 8 storage connections are the default. Whoever restores in a hurry gets the fastest path we measured without knowing any option; everything can be changed in Settings › Restore, or just for one restore Lab 21Lab 23Lab 24v0.4.6
Salvo picks by itself the path the backup allows: two tracks, or the cPanel package for an older backup made before this way of restoring v0.4.6
The restore in progress at the top, with live steps, and a chart of where each restore’s time goes: fetching from the storage, checking, restoring in cPanel and checking what came back v0.4.8
After restoring the account, Salvo checks that the WordPress site responds: in an urgent restore, the proof to show the customer v0.4.8
History with who asked for the restore, from where and why v0.4.8
A notice in the browser and on the alert channels when the restore finishes v0.4.8
How long the restore will take, before it starts: the likely range, from what Salvo has already measured on the same server (previous restores and the backup’s size). With no history yet, it does not guess Lab 24v0.4.9
Restore again with one click: the whole account opens already filled in (same account, same backup), and a database, a mailbox or the WordPress site’s files come back again after a confirmation v0.4.10
Planned
Restore on another server from the panel: Salvo on the new server reads the old one’s backup Planned
Restore in stages: site and databases first, email history afterwards To be measured
Undo a restore with one click (account, database, files and email), for one account or the whole batch Planned
Account package to download, with an expiring link and an access code Planned
Site thumbnail after restoring Planned
Preview of what is lost since the backup, before restoring Planned

Restoring part of an account

The customer lost just one thing
Runs today
See what each backup holds (mailboxes, databases and folders) without restoring v0.4.0
Files and folders: only what’s missing, replace with a safety copy, or into a separate folder Lab 20v0.4.0
Download any file, folder or database straight from the backup v0.4.0
Nothing is written through a symbolic link (protection against link attacks) v0.4.0
Account settings, each item on its own: scheduled tasks (cron), DNS zone, SSL certificate, FTP accounts and database users v0.4.0
DNS zone: only the records that differ, and the serial goes up so secondaries pick it up v0.4.0
Planned
Self-service restore by the customer, inside cPanel (files, email and databases), with limits set by the admin Planned
Restore rules: file permissions, a limit per account and locking the home folder during the restore Planned

WordPress and databases

The site’s database broke
Runs today
Restore a database: replace with a copy first, into a new database alongside, or download the .sql Lab 20v0.4.0
Result table by table, with rows before and after v0.4.0
Restore just one WordPress table (wp_options, wp_postmeta, wp_posts…), without touching the rest of the database Lab 22v0.4.1
Pick the WordPress tables to restore from a list v0.4.2
One file per table: restoring a table fetches only that table from the storage, using the same space on the storage Lab 22v0.4.1
Planned
A WooCommerce store’s WordPress database in the Lab Planned

Email

The mailbox or the messages are gone
Runs today
Restore a mailbox: only the missing messages, deleting nothing Lab 20v0.4.0
Restore into a separate folder inside the mailbox, for the customer to check in webmail v0.4.0
A restored folder with a deadline to delete itself; one click keeps it v0.4.1
A deleted mailbox recreated with the quota and password from the backup v0.4.0
Result per folder: in the backup, before, copied and after v0.4.0

Storage (destinations)

Where backups live, and how much fits
Runs today
Local disk or SFTP server, in its own folder v0.1.0
SFTP only with a known host key v0.1.0
Free space measured on every backup, with a forecast of when it fills up v0.3.0
Several connections to each storage, from 1 to 32 v0.4.1
Test the connection step by step, with the cause written out when it fails v0.4.2
Measure the space on demand v0.4.2
Create a destination from the screen, an SFTP server (with an SSH key) or a folder on this server: Salvo shows the storage key’s fingerprint to check, creates the folder if missing and tests before saving; if something fails, nothing is saved and the screen says at which step it stopped v0.4.76
Space per disk: when several destinations share a disk, a donut shows how much is each destination’s, how much is outside Salvo and how much is left; and each destination shows how much it takes, how much each account takes inside it and the growth over the measurements v0.4.76
Planned
S3-compatible destination (any S3 storage) Planned
Create destinations from the panel, testing the connection before saving Planned

Schedule, retention and locks

When it runs, how much it keeps, what never to delete
Runs today
Schedules in the JetBackup model: daily, weekly, monthly and every N hours v0.3.0
Retention per schedule: how many to keep of each v0.3.0
Retention of manual backups, per job v0.4.0
Never deletes the last backup of each item v0.3.0
Changing a schedule keeps its history v0.4.0
A missed run is recovered, up to 12 hours later v0.3.0
Lock a backup until a date, or forever, with a note v0.4.0

Performance and server load

How heavy it is, and how long it takes
Runs today
CPU, memory and disk limits, and low priority, only during the backup v0.3.0
Restores at low priority by default: the server’s sites go first v0.4.2
How many files the backup reads at once (default: one per core, the fastest we measured) Lab 08v0.4.1
How many files a restore reads and writes at once v0.4.1
Temporary cache, deleted at the end of each account Lab 01v0.1.0
Each account’s cache kept between backups, optional (measurement planned) v0.4.1
No permanent service running on the server v0.3.0
Planned
Read whole backup packs, sequentially and in parallel, when restoring To be measured

Panel and search

What the admin sees
Runs today
A panel in WHM, for the server admin only v0.3.0
Every menu screen in the new design v0.4.3
A dashboard with one small square per account; late ones grouped by cause, with each group’s action v0.4.2
Search across the whole panel: accounts, domains, mailboxes, WordPress databases and jobs v0.4.2
Accounts: every cPanel account, including those never backed up and removed ones v0.3.0
Status cards that filter (up to date, late, never backed up, with warnings), search, filter by job and bulk selection v0.4.3
Export the account list to a spreadsheet (CSV) v0.4.3
Runs with a status per item and the cause v0.3.0
Charts: backup duration per day, destination space with a forecast and volume written v0.3.0
Server settings on one screen, with help and validation v0.3.0
Large lists paginated, for servers with hundreds of accounts v0.4.2
Sizes in decimal units, the same on screen and on the command line v0.4.0
Links to the Lab on options whose default came from a measurement v0.4.1
Salvo opens inside WHM, with WHM’s own menu and header v0.4.4
Jobs at a glance: which have a schedule, how the week’s runs went, the accounts outside any job and the next backup. What has no schedule, is late or has a warning shows up without opening job after job v0.4.5
Each job with its last 14 runs, average duration, what it wrote and what it didn’t need to write, the accounts from the last run, the next runs and retention v0.4.5
Edit, duplicate, pause only the schedule and delete a job, without deleting its backups (unless you ask) v0.4.5
Runs at a glance: what is running or the next backup and how long it should take, a chart of when each job ran and, per day, how many accounts each run copied, what warned, how much it wrote and how much it didn’t need to write. In the morning you know whether the night went well without opening anything v0.4.7
Each run with its accounts, the comparison with the previous one, the job’s history and the log; the accounts that warned can have their backup redone on their own, without repeating the others v0.4.7
The account map stays readable at the same size with 50 or 600 accounts v0.4.29
Update Salvo from the screen: an icon next to the version shows when there is a new one and updates with one click; Salvo downloads it, checks the package signature, replaces itself and reloads the screen. Also from the command line v0.4.41
Activity center at the top of every screen: what is running (backups, restores and migrations), the step, how far along and how long since the last signal; if a server stops responding, it warns you. And every click gets feedback right away v0.4.70
Planned
The account page, the schedule editor and “Create job” in the new design Planned
Compact density, dark mode and per-user preferences Planned
A central console for many servers Planned

Alerts

Who tells you when something goes wrong
Runs today
A backup that fails or runs late, an account without a recent backup, a full or filling destination, an interrupted run v0.3.0
Email (through the machine’s own server or SMTP), signed webhook and Zabbix v0.3.0
Only when the problem starts and when it’s resolved, with one reminder a day v0.3.0
Alerts grouped by cause, with each group’s action (“Try again” backs up just those accounts) v0.4.3
An account’s failure alert resolves itself after a good backup v0.4.3
No false alarm from a new schedule v0.3.0
Planned
Set up alert email and webhook from the panel Planned
Mute an alert for a while Planned
A dedicated alert when an account’s repository disappears from the storage Planned
An alert when the integrity check fails Planned

Verification and security

How to know the backup is good
Runs today
On-demand verification: restores to a temporary folder and compares sha256, permissions, owner and date v0.1.0
A safety copy before replacing anything: account, database, file or setting v0.4.0
Panel for the server admin only, protected against forged requests v0.3.0
The log never records passwords or file contents v0.3.0
Safety copies in plain sight: what was there before each replacement is kept for as long as you choose, with a button to go back to it v0.4.8
Audit: every action in Salvo is recorded, from the screen, the terminal, the schedule, the alerts and even requests arriving from another server during a migration; who, when, from where and what changed, with the value before and after v0.4.44
Chained audit records: if someone alters the history from outside, the screen shows from which record on; with a map of when actions happen, who acted and from where, filters and CSV export v0.4.44
In testing: named administrators and 2-step verification. Each person signs in with their own name and a code from an authenticator app, no SMS, the same way as WHM; invitation by email through the panel itself, recovery codes and lockout after wrong codes. What each person does goes into the Audit under their name, without creating system accounts. On cPanel and DirectAdmin v0.4.46
Planned
Backup integrity check (structure, sample and full restore), on a schedule, with an alert Planned
Scheduled restore test, with a badge on the panel: “the last restore test passed” Planned

JetBackup: side by side and switching

How to leave JetBackup without risk
Runs today
Runs alongside JetBackup, in its own folder v0.1.0
JetBackup read side by side in the panel: account by account, who is up to date and where the two disagree Lab 13Lab 14v0.3.0
Schedules, retention and restore options in the same model as JetBackup v0.4.0
Settings drawn from JetBackup’s screens, each with its JetBackup equivalent v0.3.0
Restore a standard cPanel backup, the same format JetBackup can produce Lab 18v0.4.0
When reading JetBackup, only backups count: JetBackup’s restores, cleanups and checks are left out, and a restore never counts as a backup v0.4.29
Planned
Full import of the JetBackup configuration (destinations, jobs, schedules, retention and filters) Planned
Side by side on a real server, switch-over and undo Planned
Read old JetBackup backups Planned

Migration between servers

Moving accounts to another server without breaking anything
Runs today
Each Salvo builds the profile of the server it runs on (panel, system, PHP versions for the WordPress sites, database, web server, email, disks, packages) and reads the others’ v0.4.11
Before moving any account, both ways: what the destination has and what it lacks to take the source’s accounts (PHP that isn’t there, an older database, packages to create, disk that can’t hold everything at once, care with DNS) v0.4.11
Migrate an account from one cPanel server to another, in stages: first the skeleton (domains, email accounts with their passwords, the WordPress sites’ configuration), the account created by the panel’s own tool, and only then the files, the email and the databases v0.4.12
At the end of the migration, a check compares source and destination item by item (every domain, every database and its tables, every mailbox and its messages) before any switch v0.4.12
The migration followed on one screen, stage by stage v0.4.12
Sync an already migrated account again, only the part that changed: the email that arrived on the old server (only the difference, with folders and flags), a WordPress site’s database or the files v0.4.13
Every sync is kept in the account’s history, with the result and the check v0.4.13
Migrate accounts with databases: the WordPress sites arrive with their databases, users and each database’s permissions, and each domain’s PHP is set to a version that exists on the new server v0.4.14
The check requests the site on both servers and compares: if it answers on the old one and not on the new one, the migration does not pass v0.4.14
Requirements in plain sight before migrating: Salvo checks and records each one (the name and domains free on the new server, space, the PHP versions of the WordPress sites, databases, mailboxes, where the site and email really are, signs of a hack) and shows each one with its check mark. If something blocks it, the migration does not even start and says why v0.4.16
The two servers talk over their own channel, with a key that only lets the new server read what the migration needs v0.4.16
Migrate and sync from the screen: the admin picks the account and clicks Migrate; afterwards, syncs email, files or databases again with one click v0.4.16
No email is left behind in a migration: suspended mailboxes sync normally, and even email folders left without an account (no password) go whole to the new server. If the customer ever asks for the mailbox back, just recreate it with the same name and the messages are there v0.4.17
Webmail arrives the way the customer left it: in a migration, each mailbox also takes the filters created in webmail and its contacts, identities and preferences, and they go along every time the mailbox is synced again v0.4.18
Migrate accounts whose email lives on another cPanel server (mail node): Salvo fetches the site and databases from the account’s server and the email, email accounts, calendars and contacts from the mail server, and everything arrives together on the new server, with the same item-by-item check v0.4.19
Calendars and contacts checked and synced in every migration v0.4.19
The customer’s files stay the customer’s: everything the migration writes into the account is written as the account’s own user, never as the server admin, and the check fails the migration if any file ends up with another owner v0.4.25
The source server is only read, email included: whatever the new server tries to write there disappears, and the real mailbox stays intact v0.4.25
Nothing leaves without your release: the new server asks for each account, and on the old one the admin releases it for a period (24 h, 48 h, 7 days) or refuses, on screen; authorized servers are managed on screen too v0.4.25
Databases checked row by row, table by table, on WordPress sites and any other v0.4.25
Live progress, Cancel and a notice at the end, through the same channels as backup alerts v0.4.25
After the first copy, each sync carries only the difference, and what was deleted on the old server is removed from the new one too v0.4.25
Light on the old server: the migration runs at the lowest CPU and disk priority v0.4.25
"Migrate an account" button: pick the source server and the account, check the requirements and migrate, with the step-by-step release on the source right there v0.4.30
Pick the account from the source server’s list, with each one’s size and where its email is stored, including when it lives on another server; just filter and click v0.4.31
An account waiting for release on the source has an "Update status" button, without leaving the screen v0.4.32
Checking an account’s requirements again takes a few seconds, shows only the latest result and says exactly what blocks the migration v0.4.33
Migrations show live in Runs, alongside backups: the step running now, the ones already done, how long they took and the log updating by itself; you can tell whether it is moving or stuck without opening SSH v0.4.47
Migration screen by the server’s role: bring accounts here, release what leaves from here and the paired servers, with each account’s progress, the sync passes and the source × destination check v0.4.70
Migration time left: each part of the account in bars (files, each mailbox, each database) and a clock with how long until the email is done, at the real pace of the messages v0.4.75
In testing, in a rehearsal with a fictitious domain: the switchover by Salvo, with cPanel on the source. Scheduled from the screen: the TTL drops right away and, at the chosen time, Salvo does the last pass, puts the source databases in read-only without taking the site down, changes in the zone only what points to the old server and checks propagation. Afterwards, email syncs both ways, the account stays suspended on the source for the chosen time, and every step can be undone until the final deletion v0.4.88
Planned
Several accounts in a queue Planned
Sync by itself, in cycles, until the switch Planned
cPanel ↔ DirectAdmin Planned

Command line, API, logs and languages

For those who automate
Runs today
Everything from the command line and the REST API, as well as the panel v0.4.0
A log for every run and restore, with four levels (per server, job or run) v0.3.0
Live log on screen, with a level filter and “Download log” v0.3.0
Panel in English and Portuguese, following the WHM language; 24 h or 12 h time v0.3.0
Command line and logs in English v0.4.0
Salvo version in the panel, on the command line, in the API and in the log v0.4.1
Logs on one screen: everything Salvo did on the server (backups, restores, warnings, alerts and schedule), with filters by level, source, job and account, search, live and downloadable. You can look into a night’s events without SSH and without hunting for files v0.4.5
The reason for each restore from the command line too, kept in the history next to who asked for it v0.4.10
Command line and logs in English, the standard for server admins (the old commands still work); the screens keep WHM’s language v0.4.10
Planned
More languages: one file per language, and the admin can add their own without replacing Salvo Planned

Platforms

Where Salvo runs
Runs today
cPanel and WHM Lab 09v0.2.0
In testing: DirectAdmin, with account backup and restore the same way as on cPanel (the whole account, a database, a mailbox or individual files), inside the panel itself and with the same screens as in WHM v0.4.66
Planned
DirectAdmin: running alongside JetBackup and self-service restore Planned
salvo. Backup for hosting servers. A GK2 product.
Product
Lab
Salvo
Language
© 2026 GK2We use analytics cookies (Google Analytics).salvobackup.com/features/