Cuando JetBackup realiza sus procesos automatizados de verificación de integridad, en ocasiones pueden completarse parcialmente debido a interrupciones de red, tiempos de espera agotados o problemas de comunicación con el destino de almacenamiento remoto. Si recibes notificaciones indicando que el proceso de Cleanup & Integrity Check se completó parcialmente con respaldos fallidos, es posible ejecutar manualmente esta verificación utilizando la API de JetBackup desde la línea de comandos.
Este procedimiento te permitirá forzar una nueva verificación de integridad sobre un destino específico, ayudando a resolver inconsistencias y garantizar que tus respaldos se encuentren en buen estado.
¿Cuándo es necesario ejecutar este proceso?
Es común recibir correos electrónicos de notificación del servidor con un asunto similar a:
[servidor.tudominio.com] [Warning] Cleanup & Integrity Check for backup job "Nombre del Job" over destination "nombre-destino" partially completed
El cuerpo del mensaje suele indicar estadísticas como:
Cleanup & Integrity Check process partially completed in X Hours and Y Minutes. Total Completed: X Total Partial: 0 Total Failed: X Total Aborted: 0
Cuando el contador de Total Failed muestra valores mayores a cero, significa que algunos respaldos no pudieron verificarse correctamente y es recomendable ejecutar el proceso manualmente.
1. Identificar el Destination ID
Antes de ejecutar la verificación, necesitas obtener el identificador único del destino donde se almacenan los respaldos. Este ID es una cadena alfanumérica de 24 caracteres que JetBackup utiliza internamente.
Conéctate a tu servidor vía SSH con permisos de root y ejecuta:
jetbackup5api -F listDestinations
En la salida, busca el destino que corresponda al nombre mencionado en la notificación. El campo _id contiene el identificador que necesitas:
{
"_id": "1a2b3c4d5e6f7g8h9i0j",
"name": "destination-location-bucket",
"type": "backblaze-s3-etc",
...
}
Copia el valor del campo _id para utilizarlo en el siguiente paso.
2. Ejecutar la verificación de integridad
Con el Destination ID identificado, ejecuta el siguiente comando reemplazando TU_DESTINATION_ID con el valor que obtuviste:
jetbackup5api -F runIntegrityCheck -D '{"_id":"TU_DESTINATION_ID"}'
Por ejemplo, si tu Destination ID es 1a2b3c4d5e6f7g8h9i0j:
jetbackup5api -F runIntegrityCheck -D '{"_id":"1a2b3c4d5e6f7g8h9i0j"}'
El proceso iniciará inmediatamente y puede tardar desde minutos hasta varias horas dependiendo de la cantidad de respaldos almacenados en ese destino.
Recomendaciones adicionales
- Horario de ejecución: Ejecuta este proceso durante horarios de baja actividad del servidor, ya que consume recursos de CPU y ancho de banda.
- Conectividad: Verifica que el servidor tenga conectividad estable con el destino de almacenamiento remoto (Backblaze, Amazon S3, SFTP, etc.).
- Espacio en disco: Asegúrate de que el destino remoto cuente con espacio suficiente disponible.
- Frecuencia: Si los errores persisten frecuentemente, revisa la configuración del destino y considera aumentar los tiempos de espera (timeouts) en la configuración de JetBackup.
Si después de ejecutar el proceso manualmente continúas experimentando fallos recurrentes, te recomendamos revisar el artículo Error 'Never Finished' en JetBackup 5 para soluciones adicionales, o bien consultar los comandos básicos en SSHsi buscas un comando específico con la terminal.