JetBackup 5: How to fix the Integrity Check error using CLI/SSH

JetBackup 5: How to fix the Integrity Check error using CLI/SSH

When JetBackup performs its automated integrity verification processes, they may sometimes complete partially due to network interruptions, timeouts, or communication issues with the remote storage destination. If you receive notifications indicating that the Cleanup & Integrity Check process completed partially with failed backups, you can manually run this verification using the JetBackup API from the command line.

This procedure will allow you to force a new integrity check on a specific destination, helping to resolve inconsistencies and ensure your backups are in good condition.

When is it necessary to run this process?

It is common to receive email notifications from the server with a subject similar to:

Quote
[server.yourdomain.com] [Warning] Cleanup & Integrity Check for backup job "Job Name" over destination "destination-name" partially completed

The message body usually shows statistics such as:

Quote
Cleanup & Integrity Check process partially completed in X Hours and Y Minutes. Total Completed: X Total Partial: 0 Total Failed: X Total Aborted: 0

When the Total Failed counter shows values greater than zero, it means some backups could not be verified correctly and it is recommended to run the process manually.


1. Identify the Destination ID

Before running the verification, you need to obtain the unique identifier of the destination where the backups are stored. This ID is a 24-character alphanumeric string that JetBackup uses internally.

Connect to your server via SSH with root permissions and run:

jetbackup5api -F listDestinations

In the output, look for the destination that matches the name mentioned in the notification. The _id field contains the identifier you need:

{ "_id": "1a2b3c4d5e6f7g8h9i0j", "name": "destination-location-bucket", "type": "backblaze-s3-etc", ... }

Copy the value from the _id field to use it in the next step.


2. Run the integrity check

With the Destination ID identified, run the following command replacing YOUR_DESTINATION_ID with the value you obtained:

jetbackup5api -F runIntegrityCheck -D '{"_id":"YOUR_DESTINATION_ID"}'

For example, if your Destination ID is 1a2b3c4d5e6f7g8h9i0j:

jetbackup5api -F runIntegrityCheck -D '{"_id":"1a2b3c4d5e6f7g8h9i0j"}'

The process will start immediately and may take from minutes to several hours depending on the number of backups stored in that destination.

Additional recommendations

  • Execution time: Run this process during off-peak hours, as it consumes CPU resources and bandwidth.
  • Connectivity: Verify that the server has stable connectivity with the remote storage destination (Backblaze, Amazon S3, SFTP, etc.).
  • Disk space: Make sure the remote destination has enough available space.
  • Frequency: If errors persist frequently, review the destination configuration and consider increasing the timeouts in the JetBackup settings.

If you continue experiencing recurring failures after running the process manually, we recommend reviewing the article Error 'Never Finished' in JetBackup 5 for additional solutions, or consult the basic SSH commands if you are looking for a specific terminal command.

    • Related Articles

    • 'Never Finished' error in JetBackup 5

      The "Never Finished" error in JetBackup happens when a backup job doesn’t complete properly, leaving the process stuck in a "never finished" state. This issue can pop up for a bunch of reasons, like JetBackup services acting up, cache problems, or ...
    • Basic SSH commands

      FILE MANAGEMENT Copy file cp -a archivo.zip archivocopia.zip Create a 404.html file touch /home/usuario/public_html/404.html Compress directory zip -r archivo.zip /home/usuario/public_html/directorio Extract file unzip archivo.zip View contents of a ...
    • How to delete iDrive e2 files using AWS CLI on Mac

      When you need to delete large amounts of files from an iDrive e2 bucket, doing it through the web interface can take hours or even days. The most efficient solution is to use AWS CLI from your Mac terminal, as it processes multiple files in parallel ...
    • How to Block IPs and Ranges in Imunify360: CLI & GUI Master Guide

      Imunify360 is the ultimate defense for web servers. While its automated firewall is excellent, manual intervention is sometimes necessary to stop botnets or targeted attacks. In this guide, you will learn how to manage blocks precisely using commands ...
    • Using Screen on Linux: create, resume, and close terminal sessions

      Screen is a command-line tool on Linux that allows you to manage multiple, persistent terminal sessions. With screen, you can run programs in the background, detach from a session without closing it, and resume it later. This is useful for ...