🧭 Catálogo y adopción de copias (Recuperar)

Después de cada ejecución el motor escribe un catálogo dentro del destino (<copia>/catalogo/): indice.json, tarea.json (sin URIs ni comandos) y un snap-NNNNNN.tsv.gz por versión. Es el mapa que permite reconstruir la copia desde otro equipo.

Para qué sirve

  • Desastre total: servidor nuevo, disco nuevo. Instalas el motor, apuntas al mismo destino y recuperas todo — sin el índice local original.
  • Mover una copia entre motores: otro equipo puede adoptar la tarea y seguir copiando de forma incremental.

Sección «Recuperar» de la app

  1. Escanear (POST /recovery/scan): el motor lee el destino y lista las copias con catálogo.
  2. Adoptar (POST /recovery/adopt): la copia pasa a ser una tarea de este motor, marcada con adopted_job_<id>.
  3. En la primera copia tras adoptar, el motor compara por hash cada fichero antes de subirlo: no reenvía nada que ya esté — la cadena incremental continúa donde la dejó el otro motor.

Sin catálogo (copias antiguas)

Las copias hechas antes de existir el catálogo no tienen indice.json en el destino. Se pueden restaurar (los datos están) pero no adoptar para seguir incrementales — en ese caso toca restaurar y empezar una copia nueva.

  • tarea.json no contiene URIs ni pre/post_command: quien lea el catálogo en el destino no aprende tus credenciales ni puede ejecutar nada.
  • Adoptar exige estar emparejado con el motor — nadie puede adoptar tu copia sin controlar tu panel.

Con cifrado

La adopción funciona igual, pero necesitas la contraseña de la copia para desenvolver clave.iobk — sin ella el catálogo sirve de poco (los datos están cifrados a propósito).