A Guide to Upgrading to JetBackup 5

JetBackup 5 utilizes a new JetBackup Core and introduces a new Backup Structure and Engine. With that in mind, there will be NO DIRECT UPDATE from JetBackup 4 to JetBackup 5 and backups generated in JetBackup 4 ARE NOT COMPATIBLE with JetBackup 5.

NOTE: JetBackup v4.1.3+ is NOT compatible with JetBackup v5.3.0+, and cannot be installed on the same server.

Benefits of the new JetBackup Core and Structure

  • Allows the flexibility to support multiple panels and operating systems, and be platform-agnostic
  • More granular control over backups and restores.
  • Ability to restore your account across multiple platforms and control panels.
  • Better backup performance and efficiency improvements.

For a side-by-side comparison between JetBackup 4 and JetBackup 5, please CLICK HERE.

With this in mind, you may install JetBackup 5 alongside your current installation of JetBackup 4 under the same license while you evaluate and transition over to JetBackup 5. This will allow you and your clients to continue utilizing JetBackup 4 while you transition and generate new backups in JetBackup 5.

To assist with upgrading from JetBackup 4 to JetBackup 5, we have created this guide with an accompanying script that walks you through importing all the supported settings and configurations from your JetBackup 4 instance over to JetBackup 5 to help minimize your overhead during your transition period.


Upgrade Preparations and Considerations

Please review the supported Destination Types for JetBackup 5 to verify that your current JetBackup 4 destination is supported.

  • If your existing destination(s) is supported, you may continue to download and execute the configuration import tool.

  • If and you’ve obtained a supported destination that you want to assign to your backup job(s):

    • Please set up the new destination in the Destinations Section before executing the script so you may assign your new destination to the JetBackup 4 backup job(s) that you'd like to import through the configuration import tool.
  • If you do not have any supported destinations to import or add, the script will also skip importing backup jobs but WILL continue to import your JetBackup 4 Hooks and Supported Settings.

The Following JetBackup 4 Destinations will not be imported:

  • SFTP*
  • FTP*
  • Amazon S3**
  • Google Drive
  • DropBox
  • Backblaze B2**

*FTP/SFTP: Please check if your FTP/SFTP destination also supports the SSH protocol and you may be able to add it manually as an SSH destination in JetBackup 5.

Examples:

  • Hetzner Storage Box (SFTP → SSH)
  • NAS (FTP/SFTP → SSH): QNAP, Synology, FreeNAS, all support SSH. It may also be possible to mount these destinations locally using NFS v3 or 4.1.

**Amazon S3/Backblaze B2: JetBackup 5 does support both Amazon S3 and Backblaze B2 destinations and may be added as an S3 Compatible destination. With that said, there are differences in the implementation of these destinations in JetBackup 4 that prevent importing these destinations natively.

The following JetBackup 4 features are not available in JetBackup 5 and will not be imported over.

  • Clone Jobs
  • GDPR Backup Job*
  • Cloudlinux LVE Settings
  • Snapshots Settings

*GDPR Backup Job(s): You can now set up multiple Encrypted Backup Jobs in JetBackup 5, please visit Encrypted Backups for more information.


Getting Started

To get you started, please go ahead and proceed to install JetBackup 5 on your server. For installation instructions please CLICK HERE.

Once Installed, please navigate to the JetBackup 5 admin interface to go over the JetBackup End User License Agreement(EULA) and select “New Installation” and complete the initial setup.

Next, please execute the following command to download and run the configuration import tool:

wget https://github.com/jetapps/jb4-jb5-import-tool/archive/refs/tags/v1.2.zip && unzip v1.2.zip && cd jb4-jb5-import-tool-1.2 && sh main.sh

All Imported DESTINATIONS, BACKUP JOBS, and HOOKS are DISABLED by default.

Installation Check

The tool first checks and verifies that you have a valid JetBackup 5 Installation.

migration1

If you do not have JetBackup 5 installed please follow these instructions to install JetBackup 5 on your server: JetBackup 5 Installation Guide


Importing Destinations

A list of ALL compatible destinations configured in your JetBackup 4 installation will be displayed. Only Rsync-based destinations can be imported at this time:

  • Local
  • SSH
  • Rsync.net

If a backup job was assigned to a destination that’s not supported in the current JetBackup 5 version, you will be prompted to reassign the job to a new destination later.

migration2

If you do not have any supported Destinations to import, you may continue to import your settings and hooks by selecting "No" on the Import Destinations and Import Backup Jobs steps.

Please note that choosing to not import any destinations may result in skipping import of your Backup Job settings if no destinations are available in your JetBackup 5 installation. There needs to be at least 1 destination to assign backup jobs to.

For SSH Destinations, the import tool will automatically install and enable the new JetBackup 5 SSH Destination Plugin. Plugins are required to configure Destinations other than Local in JetBackup 5. For more information on JetBackup 5 Plugins please visit Plugins

The import tool utilizes the JetBackup 4 private key to re-authenticate your SSH/Rsync.Net destination types. Your existing password/key will not be transferred over. Please note that the destination will be disabled after importing by default to allow you to review additional settings you may want to modify.


Importing Backup Jobs

A list of ALL Backup Jobs configured in your JetBackup 4 installation will be provided. The tool will go through each backup job prompting if you would like to import. For Backup Jobs with a non-compatible destination, the tool will prompt you to select a compatible destination from the imported destinations from the previous step (2). If there are no destinations available, the script will back up, alert you, and skip to the next section (Hooks).

JetBackup 5 also provides new backup options (Database users & FTP Accounts) to choose from and you may be prompted if you would like these items included. If your Backup Job was created as a Full Incremental Job with all options, these will be enabled by default.

Account Filters

The import tool will recreate the Account Filters you have set up in JetBackup 4 and prompt you which Backup Jobs you would like to assign the filter to.

Exclude List

The import tool will automatically import the exclude list configured on the original Backup Job.

Backup Schedules

The import tool will recreate the schedules as specified on the original Backup Job, including the retention and scheduled time. As for the “After backup job” schedule type, the tool checks if the specified backup job for this schedule has already been imported and will provide a warning otherwise.


Hooks

Supported hooks will be imported but are DISABLED by default as hooks that used parameters passed through the JetBackup 4 Hook/API system may require some refactoring to work with JetBackup 5. Please verify the functionality of your hook script before re-enabling it in JetBackup 5.

PLEASE NOTE: The mechanism for the hooks system has changed in JetBackup 5. Not all hook types are supported.

Additionally, the available options for each Hook type will be set to Empty by default (Hooks are set to execute on All available options). Please review your hooks and reset your preferred options.

Here is a list of unsupported hook types that won’t be imported:
  • Clone
  • Clone Account
  • Snapshot
  • Daily Cron

Settings

The import script will attempt to import all settings to JetBackup 5 when possible. Here are a list of JetBackup settings that will be imported by category.


  • General:
    • Debug Active
    • Error Reporting
    • Delete orphan backups older than
    • Days to keep logs history
    • Manual Backups Retain
    • Manual Backups TTL
  • Performance
    • *Concurrent Queued Tasks -> Concurrent Restore/Download Tasks
    • *Concurrent Scheduled Tasks -> Concurrent Backup Tasks
    • Limit accounts Downloads
    • Directory Queue Priority Group
    • MySQL Dump max allowed packet
    • MySQL Dump force flag
    • MySQL Dump opt flag
    • MySQL Dump skip lock table flag
  • Restore
    • Restore Conditions (only imports content and will apply to all restore types)
  • Notification
    • JetBackup 5 takes advantage of the plugins feature for notifications, including email notifications. It also streamlines notifications into 3 levels:
      • Information alerts, which constitutes notifications for when backups and restores and any background tasks such as reindexing, and plugin updates occur.
      • Warning alerts, for when JetBackup encounters non-fatal issues with JetBackup tasks such as partially completed backups and restores, issues with reaching your destinations or account specific issues.
      • Critical alerts, which notify of any major issues and failures affecting JetBackup such as backups and restore and other critical tasks.
    • There are no more separate options to enable/disable tasks-specific notifications such as backups, restores, downloads, etc.

Post-Upgrade Recommendations

Now that you have your JetBackup 4 Configuration Imported over to JetBackup 5, you may want to start cleaning up backups in JetBackup 4 while you generate new backups in JetBackup 5 to reduce the storage overhead associated with your transition.

To do so, you may simply create an “Exclude All” account filter in JetBackup 4, set it with an Include Filter Condition without specifying any accounts.

Exclude All Filter

Once the filter is created, you may then add the account filter to the backup job that you prefer to decommission. The Backup Job will then begin to clean up the backups for all the excluded accounts each time it runs as it continues to execute per the schedule set on the backup job.

Exclude All Example

It will take a maximum of one full cycle per the set schedule to completely remove all backups associated with your existing backup job(s).

Uninstalling JetBackup 4

Once you feel you no longer need your JetBackup 4 installation, you may remove the JetBackup 4 package using following command.

jetapps -r jetbackup

This will uninstall only the JetBackup 4 package. You may check to see what packages are installed on your server using the following command:

jetapps --list-installed