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
105features running
28planned
14types
Panel, command line and API: since version 0.4.0, every new feature ships in all three.
Backup
What gets stored, and howRuns 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
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
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 backRuns 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, for slow storage (measurement under way)
v0.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
Planned
Many accounts at once, with filters, in a continuous queue: each account restores as soon as it arrives
Planned
Restore on another server from the panel: Salvo on the new server reads the old one’s backup
Planned
Restore queue: cancel and redo only what failed
Planned
Restore in stages: site and databases first, email history afterwards
To be measured
Restoring part of an account
The customer lost just one thingRuns 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 brokeRuns 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
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 fitsRuns 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
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 deleteRuns 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 takesRuns 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 seesRuns 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
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 wrongRuns 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 goodRuns 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
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 riskRuns 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
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
Command line, API, logs and languages
For those who automateRuns 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
Planned
More languages: one file per language, and the admin can add their own without replacing Salvo
Planned
Platforms
Where Salvo runsRuns today
cPanel and WHM
Lab 09v0.2.0
Planned
DirectAdmin: the same panel, full accounts, running alongside JetBackup and self-service restore
Planned