# JetBackup 4 to 5 Migration: The 5.2.11 Stepping Stone

Source: https://srvscripts.com/guides/jetbackup-4-to-5-migration/
Updated: 2026-10-07
Publisher: srvScripts (https://srvscripts.com/)

**Short answer:** You cannot upgrade JetBackup 4 straight to the current JetBackup 5. Install **JetBackup 5.2.11** alongside JetBackup 4 first (same licence), complete the JB5 setup, and run JetApps’ import tool to copy destinations, jobs, filters, hooks and settings. Review and enable the imported items, and confirm new backups and a test restore work. Then remove JetBackup 4 and update JB5 to the current release. Old JB4 backups cannot be restored by JetBackup 5, but cPanel’s `restorepkg` can still restore them by hand. This side-by-side path uses MongoDB 4.4, which JetApps documents for AlmaLinux, RHEL and CloudLinux 8 only; on AlmaLinux 9 or 10, ask JetApps support first.

Commands checked against the official JetBackup migration guide (linked below, last updated 11 February 2026) on 6 October 2026; the migration itself was not run on our lab servers. Our cPanel lab already runs JetBackup 5.4.1.4 with no JetBackup 4, so we only confirmed the `jetapps` CLI options there with `jetapps --help`, `--info` and `--list-installed`. **Corrected 7 October 2026:** an earlier version of step 1 said the pinned install command works on AlmaLinux 8, 9 and 10. It does not: the MongoDB 4.4 package it pins is only for EL8 (see JetApps’ knowledge base linked in step 1 and below).

## What changes and why you need 5.2.11

The JetBackup guide states the constraints directly:

- “JetBackup 4 backups WILL NOT be usable in JetBackup 5.” The backup formats are different, and JB5 cannot restore JB4 snapshots.

- JetBackup 4.1.3 and later is not compatible with JetBackup 5.3.0 and later, and the two cannot be installed on the same server.

- So the supported path is to run JB4 next to **JetBackup 5.2.11**, import the configuration, then remove JB4 and update JB5 to 5.3+.

- You may run JB5 alongside JB4 under the same licence while you evaluate and transition.

In practice that means a short period where both products run, and a longer period where JB5 makes new backups while the old JB4 backups age out. Plan how long you must keep JB4 backups (contract, legal or “we keep 30 days” promises) before you start.

## Plan the migration

- **List the JB4 configuration:** destinations (type, path, credentials), backup jobs, schedules, retention, account filters, exclude lists and hooks. Take screenshots of anything unusual.

- **Check which destinations import.** The guide lists Local, SSH, Rsync.net and FTP as supported by the import tool. SFTP, Amazon S3 and Backblaze B2 are named as unsupported (it notes JB5’s S3-compatible destination as the alternative), as are clone jobs, GDPR backup jobs, CloudLinux LVE settings and snapshot settings. Older versions of the guide also list Google Drive and Dropbox. Recreate those by hand in JB5.

- **Check disk space on the destinations.** JB5 starts a new backup chain next to the old JB4 backups. Until the JB4 backups expire, you need room for both.

- **Pick a quiet window** and pause JB4 jobs that would run during the install.

- **Have a non-JetBackup fallback.** Before you change backup software, take a separate copy of critical accounts, for example with `/scripts/pkgacct` (see our [WHM backups to S3](/guides/whm-backups-s3-test-restore/) guide for a second, independent system).

## Step 1: install JetBackup 5.2.11 next to JetBackup 4

The command from the JetBackup guide installs exactly 5.2.11 and its matching database package from the JetApps repositories:

```
yum install jetbackup5-cpanel-5.2.11 jetmongod-4.4.0.1 --disablerepo=* --enablerepo=jetapps,jetapps-stable
```

**Check the operating system first.** The pinned database package `jetmongod-4.4.0.1` is MongoDB 4.4. [JetApps’ own knowledge base](https://billing.jetbackup.com/knowledgebase/198/How-to-Install-JetBackup-5-on-AlmaLinux-8-Servers-Without-AVX-AVX2-CPU-Support.html) says the MongoDB 4.4 packages are for RHEL, AlmaLinux and CloudLinux **8**, and that on AlmaLinux 9, 10 or newer they cannot be used (current JetBackup 5 uses MongoDB 8 there, which needs AVX/AVX2 CPU support). So this side-by-side path, with 5.2.11 next to JetBackup 4, is only documented for EL8 servers. On AlmaLinux 9 or 10, stop here and ask JetApps support for the supported route before you change any packages; the fallback is a fresh JetBackup 5 install, keeping the old JetBackup 4 backups restorable by hand (Step 5).

```
. /etc/os-release; echo "$ID $VERSION_ID"
case "$VERSION_ID" in
  8|8.*) echo "EL8: the pinned 5.2.11 + MongoDB 4.4 path applies" ;;
  *)     echo "Not EL8: stop and ask JetApps support before installing anything" ;;
esac
grep -q -w avx /proc/cpuinfo && echo "CPU has AVX" || echo "CPU has no AVX"
```

On AlmaLinux 8 `yum` is an alias for `dnf`, so the install command works as written there. Do not install the latest JB5 at this point. Versions 5.3.0 and later refuse to coexist with JB4 4.1.3+.

## Step 2: finish the JetBackup 5 first-run setup

Open JetBackup 5 in WHM, review and accept the End User License Agreement, and choose **New Installation** to complete setup. On our lab, the API calls returned empty data until the EULA had been accepted in WHM, so do this before you script anything.

## Step 3: run the JB4-to-JB5 import tool

JetApps publishes the import tool on GitHub. The guide downloads tag v1.6 and runs it:

```
cd ~ && wget https://github.com/jetapps/jb4-jb5-import-tool/archive/refs/tags/v1.6.zip && unzip v1.6.zip && cd jb4-jb5-import-tool-1.6 && sh main.sh
```

This is a shell script you run as root, so read `main.sh` before you run it, and check the GitHub repository for a newer tag than the one in the guide. The tool shows the JB4 destinations it can import and lets you choose which backup jobs to import. Jobs that point to an unsupported destination type can be reassigned to a supported one. If needed, it installs the SSH destination plugin automatically.

## Step 4: review and enable what was imported

The guide says all imported destinations, backup jobs and hooks are **disabled by default**. That is deliberate. Go through them one by one:

- Destinations: test the connection and check the path is a new folder or that JB5 will not collide with JB4 data.

- Backup jobs: check schedules, retention, what each job contains, and which accounts it covers (filters and exclude lists).

- Hooks: read each hook script before you enable it. Paths and environment can differ in JB5.

- Settings: general, performance, restore and notification settings are imported. Check notification addresses.

- Recreate by hand anything the tool cannot import (S3/B2 via S3-compatible, clone jobs, LVE settings).

Enable the destinations, then the jobs. Run one job manually and watch it finish on the Queue page. Then do a test restore of one small account or one file. A backup system is not migrated until a restore from it has worked. Our [JetBackup 5 review](/guides/jetbackup-5-review/) covers the JB5 concepts (incremental snapshots, destinations, queue) if they are new to you.

## Step 5: decide what happens to the JetBackup 4 backups

JB5 will never read them, but they are still useful. The guide notes that JetBackup 4 backups remain restorable manually with cPanel’s `restorepkg`. Two common approaches:

- **Let them age out:** the guide suggests creating an “Exclude All” account filter in JetBackup 4. JB4 then makes no new backups and removes old ones according to retention, while you keep it installed for a few weeks.

- **Keep a frozen copy:** leave the JB4 backup folders on the destination, outside JB5’s paths, until your retention promise expires, then delete them.

## Step 6: remove JetBackup 4 and update JetBackup 5

Removing JetBackup 4 removes its interface and its ability to restore from its own backups. Do this only after JB5 has made good backups and a test restore worked, and after you decided how to keep or expire the JB4 backups.

```
yum remove jetbackup-core          # remove JetBackup 4 (command from the JetBackup guide)
jetapps --list-installed           # confirm what is installed
jetapps --update jetbackup5-cpanel # update JetBackup 5 from 5.2.11 to the current release of its tier
```

The guide’s last step is to update 5.2.11 to 5.3 or later with the `jetapps` tool once JB4 is gone. The options above come from `jetapps --help` on our lab (JetApps CLI 1.1.19): `-u, --update`, `-d, --list-installed`, `-i, --info` and `-t, --chtier`. Check `jetapps --help` on your server, because the CLI version may differ. On the lab, `jetapps --info jetbackup5-cpanel` showed the tier and versions:

```
Package: jetbackup5-cpanel
Available Tiers: stable-5.4.1.4 release-5.4.1.4 rc-5.4.1.4 edge-5.4.2.2 beta-5.4.1.4 alpha-5.4.2.3
Current Tier: release
Installed Version: 5.4.1.4-203
Auto Update: yes
```

Production servers normally stay on the **stable** or **release** tier. Change it with `jetapps --chtier jetbackup5-cpanel stable` if needed.

## Check that the migration worked

```
jetapps --list-installed                      # only JetBackup 5 packages left
jetbackup5api -F getInfo -O plain             # version and tier
jetbackup5api -F listBackupJobs -O json       # jobs enabled, last_run and next_run set
```

- Every job ran at least once on its schedule without errors.

- Each destination shows recent backups for the accounts you expect (`jetbackup5api -F listBackupForAccounts -O json -D "type=1&contains=511"`).

- A test restore of one account, one database and one mailbox worked (see our JetBackup 5 restore steps).

- Notifications arrive at the right address.

## Common problems

- **JB5 install fails or conflicts with JB4:** you installed 5.3 or later instead of 5.2.11. Remove it and install the pinned 5.2.11 packages with the command above.

- **Imported jobs never run:** imported items are disabled by default. Enable the destination first, then the job.

- **A destination is missing after import:** its type is not supported by the import tool. Create it in JB5 by hand (S3-compatible for S3/B2).

- **A customer needs a file from before the migration:** it is in a JB4 backup. Restore it manually with `restorepkg` from that backup, or from JB4 if it is still installed.

- **Destination fills up:** JB4 and JB5 backups exist side by side for a while. Expire JB4 backups as planned, or add space before you start.

**Official documentation:** [JetBackup docs: A guide to upgrading to JetBackup 5](https://docs.jetbackup.com/v5.1/adminpanel/Resources/migrationguide.html) · [JetBackup 5.4 docs: FAQ and troubleshooting](https://docs.jetbackup.com/v5.4/adminpanel/faq.html) · [JetApps: jb4-jb5-import-tool on GitHub](https://github.com/jetapps/jb4-jb5-import-tool)

**Related:** [JetBackup 5 review: the backup tool we actually restore from](/reviews/jetbackup-5-review/) · [WHM Backups S3: Reliable Remote Backups and Test Restores](/guides/whm-backups-s3-test-restore/) · [Transferring accounts between servers with the WHM Transfer Tool](/guides/whm-transfer-tool/) · [Backup Verify Script](/scripts/backup-verify/) · [Migrate cPanel accounts to a new server without customers noticing](/guides/migrate-cpanel-accounts-new-server/)

**See also:** [JetBackup 5 Restore in WHM: Accounts, Files, Databases, Email](/guides/jetbackup-5-restore-admin/) · [cPanel restorepkg and pkgacct: Backup and Restore from CLI](/guides/cpanel-restorepkg-pkgacct-cli/) · [Restic Backup for cPanel and DirectAdmin: Files, Databases, Retention](/guides/restic-backup-cpanel-directadmin/)

## Frequently asked questions

### Can I upgrade JetBackup 4 directly to JetBackup 5.4?

No. Install JetBackup 5.2.11 alongside JetBackup 4, import the configuration with the import tool, remove JetBackup 4, and only then update JetBackup 5 to 5.3 or later.

### Can JetBackup 5 restore JetBackup 4 backups?

No. JetBackup says JB4 backups will not be usable in JB5. You can still restore them manually with cPanel’s restorepkg.

### Do I need a new licence for JetBackup 5?

JetBackup’s guide says you can install JetBackup 5 alongside JetBackup 4 under the same licence while you transition.

### What does the JB4 to JB5 import tool migrate?

Supported destinations (Local, SSH, Rsync.net, FTP), backup jobs with schedules and retention, account filters and exclude lists, supported hooks, and general, performance, restore and notification settings. Imported items are disabled until you enable them.

### Why are my imported JetBackup 5 jobs not running?

The import tool disables imported destinations, jobs and hooks by default. Review each one, enable the destination, then enable the job.
