gioser

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 815Rust 56Shell 37Markdown 291229 Definiciones

respaldo: rsync 24 (ficheros desaparecidos) no es un fallo — es podar mientras se sube

El bucle de reintentos trataba el 24 como «error que no es de red» y habría PARADO el
respaldo entero. Pero 24 significa que ficheros del origen desaparecieron durante la
transferencia, que en este proyecto es una combinación NORMAL: el respaldo dura ~19 h y
`store-gc.sh` es la válvula del disco, así que podar mientras se sube va a pasar. Y pasaría
justo cuando el disco aprieta, o sea cuando menos conviene quedarse sin copia.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

89c02db639b0ae581c3240f66e79deff578f98e3 · por sergio · (hace 2 meses) · padre 97eb1d4af · ver el árbol en este commit

Delta semántico

Ninguna definición cambió: el cambio es de texto, documentación o datos.

1 archivos · +7 −0

diff --git a/scripts/respaldo-storagebox.sh b/scripts/respaldo-storagebox.sh
index 5c6c6363..fd9135cb 100755
--- a/scripts/respaldo-storagebox.sh
+++ b/scripts/respaldo-storagebox.sh
@@ -84,6 +84,13 @@ reintentar() {
     rc=$?
     case "$rc" in
       10|12|23|30|35|255) ;;                       # red / pipe roto / timeout: insistir
+      # 24 = «ficheros de origen desaparecieron durante la transferencia». NO es un fallo: pasa
+      # cuando `store-gc.sh` poda artefactos superados mientras el respaldo corre, que es una
+      # combinación NORMAL en este proyecto (el respaldo dura ~19 h y la poda es la válvula del
+      # disco). Sin esta línea el bucle lo tomaría por «error que no es de red» y PARARÍA el
+      # respaldo entero por algo inofensivo — y encima justo cuando el disco aprieta, que es cuando
+      # menos conviene quedarse sin copia.
+      24) ;;
       *) echo "!!  $etiqueta: error $rc que NO es de red — no reintento"; return "$rc" ;;
     esac
     if [ "$intento" -ge 40 ]; then