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:
[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:
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.