Un bloqueo obsoleto de Restic solo debe eliminarse después de demostrar que todos los hosts y procesos enumerados están inactivos. La reparación consiste en un desbloqueo normal de un bloqueo obsoleto, no en la eliminación forzada de todos los bloqueos.
Cuando varios servidores domésticos comparten un repositorio, un bloqueo que parece antiguo puede pertenecer a un trabajo remoto lento, a un contenedor reiniciado o a un proceso cuyo reloj difiere del de la máquina del operador. Primero, pausa las nuevas programaciones, guarda los metadatos del bloqueo, comprueba el host indicado y todos los controladores de mantenimiento y, después, utiliza el procedimiento de limpieza estándar. Si no se puede verificar algún propietario, detente y conserva el bloqueo.
Pausar los nuevos trabajos e identificar a todos los propietarios de los bloqueos
Desactiva los temporizadores, las entradas de cron, las programaciones de contenedores y los trabajos de orquestación que puedan iniciar Restic en el repositorio. Guarda la lista de bloqueos actual y los registros recientes de los servicios. Para cada bloqueo, registra el host, el ID del proceso, el usuario, la marca de tiempo y si es exclusivo; después, inspecciona el proceso indicado en ese host exacto.
Una comprobación exclusiva del repositorio puede bloquear otros trabajos, y un bloqueo de comprobación interrumpida puede parecer un bloqueo de copia de seguridad abandonado hasta que se relacionen la operación y el propietario.
Si algún proceso está activo o sus registros avanzan, espera o detenlo correctamente mediante su administrador de servicios. Si no se puede acceder al host, no se ha demostrado que el bloqueo esté obsoleto. Continúa solo cuando todos los procesos relevantes estén ausentes, ningún programador pueda reiniciarlos y el repositorio no esté recibiendo escrituras.
Verificar que el bloqueo está obsoleto más allá de su antigüedad
Espera durante un breve periodo de observación y vuelve a enumerar los bloqueos. Un candidato obsoleto no tiene ningún propietario activo, ningún registro que avance, ninguna actualización ni actividad de escritura en el repositorio. Compara los relojes y consulta el mismo backend desde otro cliente de confianza si el repositorio es remoto.
Un flujo de trabajo completo de un repositorio de Restic considera el desbloqueo como una operación administrativa entre otras, como las copias de seguridad, las comprobaciones, la retención y las restauraciones; no sustituye a determinar quién sigue siendo propietario del repositorio.
Si el bloqueo se actualiza, si algún registro cambia o si los clientes no coinciden en la vista del backend, detente. Si el bloqueo permanece sin cambios y se ha demostrado de forma concluyente que su propietario ha terminado, continúa. La antigüedad respalda el resultado, pero no lo determina; una operación activa y lenta puede ser más antigua de lo que espera el operador.
Usar primero la limpieza estándar de bloqueos obsoletos
Utiliza el comportamiento normal de desbloqueo de Restic para que elimine los bloqueos obsoletos y conserve aquellos que todavía considere activos. No añadas una opción para eliminar todos los bloqueos ni ejecutes el siguiente comando sin bloqueo. Guarda la salida del comando y obtén inmediatamente después una lista de bloqueos nueva.
El comando de desbloqueo estándar está pensado específicamente para los bloqueos obsoletos, mientras que la eliminación forzada es una acción independiente y de mayor riesgo que no debe formar parte del procedimiento normal de reparación.
Si la entrada obsoleta desaparece y no se elimina ningún bloqueo activo, continúa con la validación. Si permanece un bloqueo activo, respétalo y vuelve a comprobar el propietario. Si un bloqueo reaparece inmediatamente, un temporizador, un contenedor o un host remoto ha iniciado un trabajo; desactiva ese origen y no repitas el desbloqueo hasta comprender quién es el nuevo propietario.
Validar la copia de seguridad original y la próxima ejecución programada
Ejecuta la copia de seguridad exacta que estaba bloqueada y registra el inicio, el progreso, el estado de salida y el ciclo de vida del bloqueo. Confirma que el bloqueo aparece mientras Restic trabaja y desaparece después de una salida correcta. Enumera la nueva instantánea y restaura una muestra pequeña en una ubicación independiente antes de volver a activar la automatización.
Si el repositorio se comporta como de solo lectura o el mantenimiento sigue incompleto, mantén el estado de prune interrumpido separado de la limpieza de bloqueos obsoletos.
Vuelve a activar la programación normal durante un ciclo. La reparación se considera correcta cuando ambas ejecuciones terminan, sus bloqueos se eliminan normalmente y la muestra restaurada coincide. Escala el problema si un bloqueo obsoleto vuelve después de una salida correcta del proceso, las vistas del backend siguen siendo incoherentes o los resultados de la comprobación y la restauración del repositorio no coinciden. No automatices el desbloqueo forzado como solución a la recurrencia.
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,...

¿Por qué se atasca una copia de seguridad de Restic cuando otro host comienza a depurar?
Un diagnóstico centrado de la contención de bloqueos durante la limpieza de Restic, incluidas las comprobaciones del propietario del bloqueo, la recuperación segura, la...

