Un repositorio de Restic puede permanecer bloqueado porque otro proceso sigue activo, un bloqueo dejó un estado obsoleto, el backend retrasó las actualizaciones o una tarea de mantenimiento aún mantiene un bloqueo exclusivo.
En un servidor doméstico con varios hosts, la suposición peligrosa es que el último bloqueo visible lo creó el único bloqueo existente. Puede que un trabajo de poda siga ejecutándose en otro equipo, que un contenedor se haya reiniciado con la misma programación o que el almacenamiento de objetos aún no muestre el estado más reciente. Empieza congelando las nuevas programaciones y leyendo la identidad del bloqueo; elimina un bloqueo solo después de que el host, el proceso, la hora y la actividad del repositorio indiquen que la operación ha terminado.
Lee la identidad del bloqueo antes de actuar
Pausa las nuevas programaciones de copias de seguridad, olvidos, comprobaciones y podas en todos los equipos que puedan acceder al repositorio. Enumera los bloqueos y guarda su host, ID del proceso, usuario, hora de creación, hora de actualización y función exclusiva o no exclusiva. Después, inspecciona el proceso correspondiente y los registros del servicio en el host indicado, en lugar de hacer suposiciones basadas únicamente en la antigüedad.
Los bloqueos obsoletos suelen aparecer después de un proceso de Restic interrumpido, pero una canalización interrumpida es solo una de las posibles causas. Un proceso que recibe una señal no controlada puede dejar un estado similar al de un trabajo remoto que aún sigue ejecutándose.
Si el PID está activo y los registros avanzan, espera o detén el trabajo mediante su gestor de servicios; no desbloquees mientras siga ejecutándose. Si el proceso no existe y el host no ha reiniciado el mismo trabajo, el bloqueo puede considerarse candidato a obsoleto. Si no se puede acceder al host o la vista del backend es incoherente, el estado sigue sin verificarse y no se justifica ninguna acción destructiva.
Distingue las cuatro firmas de bloqueo
Un escritor activo tiene un proceso correspondiente, actividad reciente en los registros y un bloqueo que se actualiza. Una salida no controlada no tiene ningún proceso activo y presenta una marca de tiempo fija después de que el host o el contenedor se detuviera. Un retraso del backend aparece cuando los clientes no coinciden en la lista de bloqueos o las marcas de tiempo van por detrás de la actividad conocida del repositorio. Un mantenimiento sin terminar muestra un bloqueo exclusivo y un registro de comprobación o poda que sigue cambiando.
Un amplio orden de resolución de problemas de Restic mantiene separados los bloqueos del repositorio, los fallos de poda y la posible corrupción, para no aplicar una solución para bloqueos obsoletos a un problema de almacenamiento.
Comprueba una firma cada vez. Confirma primero que el proceso esté activo; después compara las marcas de tiempo y los registros; luego comprueba el acceso al backend y el reloj; por último, inspecciona el mantenimiento. Si siguen siendo plausibles dos firmas, conserva el bloqueo e investiga la opción más segura; desbloquear no es una prueba de diagnóstico, porque cambia la protección que intentas comprender.
Elimina únicamente un bloqueo demostrado como obsoleto
Antes de desbloquear, comprueba una vez más todos los clientes, controladores de automatización, hosts de contenedores y servicios del lado del repositorio. Guarda la lista actual de bloqueos y los registros recientes. Usa el comando normal para eliminar bloqueos obsoletos, no una opción de eliminar todos los bloqueos ni una opción de omitir bloqueos, porque la ruta estándar está diseñada para conservar los bloqueos activos.
Un caso real de fallo por un bloqueo obsoleto puede detener una programación de copias de seguridad que funcionaba correctamente, pero la antigüedad de un caso no define un umbral universal de eliminación segura.
Si el comando estándar elimina el registro obsoleto y no reaparece ningún bloqueo de inmediato, continúa con una enumeración del repositorio en modo de solo lectura. Si se niega porque el bloqueo está activo, detente y encuentra al responsable. Si aparece un bloqueo nuevo inmediatamente, un programador o un contenedor reiniciado sigue ejecutándose; desactiva esa fuente antes de intentar otra reparación.
Vuelve a probar la operación original y comprueba si se repite
Ejecuta la misma operación que falló, capturando el progreso y el estado de salida. Observa cómo aparece el bloqueo, cómo se actualiza mientras el trabajo está activo y cómo desaparece después de una salida limpia. Después, deja que se ejecute un ciclo programado normal. Esto reproduce el desencadenante original y demuestra más que una enumeración correcta del repositorio.
Si el repositorio pasa a ser de solo lectura o el mantenimiento falla después de eliminar el bloqueo, sigue la ruta de recuperación independiente para una poda interrumpida en lugar de desbloquear repetidamente.
La recuperación se considera correcta cuando se completan dos ciclos con la carga original, cada bloqueo se actualiza mientras está activo y se elimina al finalizar, y una comprobación del repositorio o una restauración de muestra funciona con normalidad. Escala el problema si los bloqueos reaparecen después de salidas limpias, los clientes discrepan sobre el estado del backend o la comprobación informa de objetos del repositorio ausentes o dañados. Mantén el bloqueo activado durante toda la investigación.
Soporte y Consejos
Más para leer

Cómo programar tareas de copia de seguridad, olvido y depuración de Restic sin conflictos de bloqueo
Una programación completa de Restic para varios hosts que separa las copias de seguridad frecuentes, la retención delimitada, la depuración física, las comprobaciones, los...

Cómo evitar que los trabajos de depuración de Restic bloqueen las copias de seguridad programadas
Un plan de prevención para repositorios Restic compartidos que separe las ventanas de copia de seguridad de la poda y mantenga intactos el bloqueo,...

Cómo eliminar un bloqueo obsoleto de Restic sin interrumpir una copia de seguridad activa
Un flujo de desbloqueo de Restic mínimamente invasivo que protege las copias de seguridad activas, elimina únicamente el estado obsoleto y confirma la recuperación...

