Skip to main content

Import from JetBackup (steps 1 to 4)

Phase A of Bring from JetBackup: Salvo reads JetBackup's destinations and jobs and imports what you approve. It takes minutes. Until step 4, nothing is written; JetBackup keeps running as before.

● available  Requires Salvo installed.

On the screen​

Open WHM › Plugins › Salvo Backup › Bring from JetBackup (menu Server).

Step 1 · Find the JB​

Salvo shows what this server's JetBackup has: version, destinations, account jobs and the way to disable it later. Click Start.

Step 1: Salvo found the JetBackup

Step 2 · Destinations​

For each JetBackup destination:

  1. compare the storage key fingerprint with the right one (why and how to get it), and check Checked, it is this one;
  2. check the Salvo folder: it must be …/salvo/, next to JetBackup's folders and never inside a jetbackup_* folder. To pick another one, Choose (available once the key is checked) browses the storage, reading only: the path is clickable, ← Back goes up, Use picks a folder, and New folder here (filled with salvo) + Use the new folder creates one. The jetbackup_* folders show locked, with the JB seal: Salvo never writes there;
  3. click Test (server, authentication, folder, write and read);
  4. click Approve destination.

A destination used only by jobs you mark as Do not import in step 3 shows dimmed, with the Not needed seal, and does not count to finish this step. If you change the choice in step 3, it counts again.

Step 2: a destination that is not needed

Step 2: key, folder and test of the destination

Step 2: Choose browses the storage; jetbackup_* folders are locked

The storage fingerprint​

Why. JetBackup does not keep the storage's SSH key (it has no known_hosts). So Salvo fetches the key on the first connection and shows its fingerprint (SHA256:…). Checking it proves this is the real storage and not a server posing as it (a changed DNS record, a hijacked IP). Once you confirm it, Salvo records the key and refuses to connect if it ever changes. It is ssh's "Are you sure you want to continue connecting?", with the check actually done.

How to get the right one, to compare:

on the storage (on TrueNAS, from its shell)
for k in /etc/ssh/ssh_host_*_key.pub; do ssh-keygen -lf "$k"; done
or from a machine you trust
ssh-keyscan -p 2222 storage.example.com 2>/dev/null | ssh-keygen -lf -

One match is enough: if one of the lines Salvo shows (usually the ED25519 one) is equal to one of these, it is right.

It does not match: do not confirm

Find out first why the key is different: the storage was replaced or reinstalled, or someone is in the middle.

Step 3 · Jobs​

Each JetBackup job shows what comes as is (schedule, retention, accounts, exclusions, content) and what changes in Salvo (folder, format, encryption, database dump). Choose how it comes in:

ModeWhat happens
Pausedcomes into Salvo with no schedule; JetBackup keeps doing everything
Active, with the JBSalvo also backs up on the same schedule
Do not importthe job stays only in JetBackup
First server

Choose Paused. You run the first backup by hand and turn the schedule on only when you decide.

Step 3: how the job comes to Salvo

Step 4 · Review and import​

The summary shows what will be created and what stays out. Click Import. This is the only moment of phase A when Salvo writes something, and only what you approved.

Step 4: review and import

On the command line​

root@server
# what JetBackup has and the 8 steps (JB_ID of each destination and job)
/var/lib/salvo/salvo jb-transition
# step 1 (reads only)
/var/lib/salvo/salvo jb-transition-start
# step 2, in this order: fetch the key (prints the fingerprints to check), confirm, test, approve
/var/lib/salvo/salvo jb-transition-destination --destination JB_ID --fetch-key
/var/lib/salvo/salvo jb-transition-destination --destination JB_ID --confirm-key
# optional: see the folders of the storage ("." = JetBackup's folder, or a path) and set the Salvo folder
/var/lib/salvo/salvo jb-transition-destination --destination JB_ID --browse .
/var/lib/salvo/salvo jb-transition-destination --destination JB_ID --folder FOLDER
/var/lib/salvo/salvo jb-transition-destination --destination JB_ID --test
/var/lib/salvo/salvo jb-transition-destination --destination JB_ID --approve
# step 3
/var/lib/salvo/salvo jb-transition-job --job JB_ID --mode paused
# step 4: writes what was approved
/var/lib/salvo/salvo jb-transition-import

Check the result​

  • Destinations: the imported destination shows from JetBackup. Click Test all.
  • Backup jobs: the imported job shows Paused. A job that came with all accounts covers every account of the panel, including the ones created later (version 0.4.105 or later).

Destinations after the import

Backup jobs: the imported job is paused

Next: first backup.