Runs in testing
Salvo engine, written in Go: only what changed is read again; data leaves compressed and encrypted.
RUNS ON TEST SERVERS
One repository per account
Temporary cache, deleted at the end of each account
Several accounts at once
zstd-fastest, zstd or no compression, per destination
Per-account metrics: time, new and sent bytes, memory and CPU
A log for every run, with four levels set per server, per job or per run
Schedule and retention per job (daily, weekly, monthly, every N hours, manual), in the panel, the command line and the API
Several connections to each storage, 1 to 32, chosen by the admin
How many files the backup reads at once, per account
Each account’s cache kept between backups (optional)
A Salvo version for each delivery (today, 0.4.3)
A backup that starts over on its own, with an alert, when its files disappear from the storage
STILL TO DO
One backup counting for more than one schedule, without running again
See the test
Writing to the storage disk was as fast as throwing the data away
Runs in testing
Writes to local disk or an SFTP server, in its own folder.
RUNS ON TEST SERVERS
SFTP only with a known host key
Free space measured after every backup, with a forecast of when it runs out
STILL TO DO
Nothing yet.
Runs in testing
One dump per database, without locking tables; a dump that doesn’t finish is a failure, not a backup.
RUNS ON TEST SERVERS
--single-transaction for InnoDB
MyISAM tables, locked only while they’re copied
Incomplete-dump detection
Database stored table by table (optional per job), to restore a table by fetching only that table
STILL TO DO
PostgreSQL
In development
Reads JetBackup’s configuration: destinations, jobs, schedules, retention and filters.
RUNS ON TEST SERVERS
Nothing yet.
STILL TO DO
Full import, tested on a real server
Planned
Writes to any S3-compatible storage.
RUNS ON TEST SERVERS
Nothing yet.
STILL TO DO
S3 destination
Runs in testing
Alerts when a backup fails or runs late, when an account has no recent backup and when a destination is about to fill up.
RUNS ON TEST SERVERS
Email, through the server’s own mail system or SMTP
Signed webhook
Zabbix
Only when a problem starts and when it’s resolved, with one reminder a day
STILL TO DO
Nothing yet.
In development
Restores into a temporary folder and compares with the source: sha256, permissions, owner and date of every file.
RUNS ON TEST SERVERS
Verification by command, manual
STILL TO DO
Run it automatically, on a schedule
Backup integrity check (structure, sample and full restore), with an alert to the admin
In development
Admin panel: accounts, destinations, jobs, restores and runs.
RUNS ON TEST SERVERS
Prototype of the first-phase screens
Panel in WHM with the read-only screens: Dashboard, Runs, Accounts, Jobs and Destinations
Charts of duration, space and data written
Server settings screen, with resource limits during backups
In English and Portuguese, following the WHM language
Create an accounts job and run a backup right away (“Run now”), from the panel, the command line and the API
New dashboard: each account’s status at a glance and late accounts grouped by cause, with each group’s action
Search across the whole panel: accounts, domains, mailboxes, WordPress databases and jobs
Test the connection to the storage, step by step
Large lists paginated
Every menu screen in the new design: Dashboard, Alerts, Runs, Accounts, Jobs, Destinations, Restore and download, Settings and Living with JetBackup
Account list with cards (up to date, late, never backed up, with warnings), search, filter by job and export to a spreadsheet
Back up a single account, or the selected ones, without running the whole job
New Jobs screen: each job with its latest runs, savings, accounts and next runs; edit, duplicate, pause and delete without losing the backups
Logs screen: everything Salvo logged on the server, with filters, search, live and downloadable
New Runs screen: the next backup and how long it should take, when each job ran, the comparison with the previous run and redoing only the accounts that warned
STILL TO DO
The account page, the schedule editor and “Create job” in the new design
Create destinations from the panel
Add alert email and webhook from the panel
Mute an alert until a date
More languages
Runs in testing
Account configuration through cPanel’s pkgacct (without the data), incremental files and email, and one dump per database, all in the account’s repository.
RUNS ON TEST SERVERS
Whole-account backup, tested on a production server
Default exclusions (cache, logs, plugin backups), editable by the admin
STILL TO DO
Nothing yet.
See the test
The whole account restored on another server: domains, email, identical database and grants
Runs in testing
Recreate the whole account in cPanel from the backup: Salvo builds the package in cPanel’s format and it is restored with restorepkg.
RUNS ON TEST SERVERS
Restore on another server, tested: domains, email, database, grants and cron
Restore of a standard cPanel backup from the panel, the command line and the API, with a comparison of what came back and server charts during the restore
Restore a whole account straight from the backup on the storage, choosing the day, from the panel, the command line and the API
See what is in each backup of an account (email, databases and folders) without restoring
Restore a single database: to a new database, over the current one with a safety copy, or download the .sql
Restore a mailbox: only what is missing, into a separate folder, or recreate a deleted mailbox
Restore selected files and folders: only what is missing, replace with a safety copy, or into a separate folder
Download any file, folder or database straight from the backup
Server check before restoring: account, domains, databases, disk, package and PHP version
Restore the whole account: as new, replacing (with an optional prior backup and automatic rollback) or merging
Suspend, change package or owner and leave paths out on restore
Lock a backup until a date (or forever), with a note
Restore separately: cron, DNS zone, SSL certificate, FTP accounts and database users
Restore just one table of the WordPress database (wp_options, wp_postmeta, wp_posts…), replacing only that table or into a new database alongside
How many files a restore reads and writes at once, chosen by the admin
Restore by bringing the whole backup to the server first
Restored email folder with a deadline to delete itself
A clear message when the backup is no longer on the storage
Restores at low priority by default, so sites stay up
Pick the WordPress tables to restore from a list
Step-by-step restore: the time of each step and, if it stops, where and what was undone
Large accounts: 10 GB back in 5 min 45 s, with several connections and the backup fetched whole first, now the default
Restoring the same accounts with Salvo and with JetBackup, on the same storage
Several accounts at once, in a queue that shows why each one is waiting; 3 at a time by default
Two-track restore, faster than the panel’s package on medium and large accounts
Cancel and redo only the ones that failed
Fast restore by default: two tracks, backup fetched first and 8 connections, without asking
Salvo picks by itself the path the backup allows
New Restore screen: live steps, where the time goes, who asked, the site checked at the end and safety copies with a deadline
How long the restore will take, before it starts, from the server’s own history
Restore again with one click, with the reason for each restore in the history
STILL TO DO
Undo a restore with one click
Package to download with an expiring link and a code
Site thumbnail and a preview of what is lost before restoring
Restore on another server from the storage
Scheduled restore test
See the test
The next-day backup on the same 6 accounts: 494 s on JetBackup, 64 s on Salvo
In development
Runs next to JetBackup, in its own folder, and switches over when you want.
RUNS ON TEST SERVERS
JetBackup read side by side in the panel: account by account, who has an up-to-date backup and where the two disagree
STILL TO DO
Running alongside on a real server
Switch-over and undo
See the test
30 MB of cache for 233 thousand files, and deleting it cost nothing
Planned
End users restore files, email and databases of their own account, inside cPanel.
RUNS ON TEST SERVERS
Nothing yet.
STILL TO DO
Interface inside cPanel
Per-account limits set by the admin
In development
Move accounts from one cPanel server to another: the two Salvos talk, check what the destination has and copy the accounts, with sites, databases and email kept in sync until the switch.
RUNS ON TEST SERVERS
Each server’s profile and a comparison both ways, before moving any account
One account migrated from one cPanel to another: the skeleton first, then files, email and databases
Source × destination check item by item, before any switch
Sync again, whenever you want, the email, a database or the files of an already migrated account, with history
Accounts with databases, with each database’s users and permissions
Check with the site answering on both servers
Requirements checked and shown before starting
The two servers talking over their own channel
Migrate and sync from the screen
No email left behind: suspended mailboxes and email folders without an account go too
Each mailbox’s webmail filters, contacts and preferences
Accounts with email on another cPanel server (mail node)
Calendars and contacts checked in every migration
Files written as the account’s user; the old server is only read
Release on both sides, on screen, with a deadline
Databases checked row by row
Progress, Cancel and a notice at the end
Sync with only the difference
In testing (version 0.4.88), in a rehearsal with a fictitious domain: the switchover by Salvo, scheduled from the screen, with the last pass, changing in the zone only what points to the old server, email synced both ways and every step undoable until the final deletion
STILL TO DO
Several accounts in a queue
Sync by itself, in cycles, until the switch
Switching over a real account
In development
The same admin panel, inside DirectAdmin.
RUNS ON TEST SERVERS
In testing on a real DirectAdmin server (version 0.4.26): Salvo in the DirectAdmin menu, for the admin only, with the same screens as in WHM and the server’s accounts
In testing (version 0.4.27): Salvo recognizes by itself whether the server is cPanel, DirectAdmin or Linux with no panel; what does not exist yet on a panel shows as "not available yet" instead of failing halfway
In testing (version 0.4.27): on DirectAdmin, databases through the panel’s own admin access, without storing a password
In testing (version 0.4.28): migrating an account from cPanel to DirectAdmin from the screen, on both servers: site, email mailbox by mailbox, databases, calendars and contacts, checked item by item at the end; afterwards, each sync brings only what changed
STILL TO DO
In the migration to DirectAdmin: webmail filters and contacts, mailboxes without a login and accounts with email on a mail node
In development
Full accounts, running alongside JetBackup and end-user restores, as on cPanel.
RUNS ON TEST SERVERS
In testing (version 0.4.66): account backup as in cPanel, with the configuration through the panel itself, only what changed in files and email, and each database on its own
In testing (version 0.4.66): restore the whole account, a database, a mailbox (with the old password, even if the mailbox was deleted) or individual files
STILL TO DO
Running alongside JetBackup on DirectAdmin
End-user restores