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>
Semantic delta
No definition changed: this change is text, documentation or data.
1 files · +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