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>
This commit is contained in:
@@ -84,6 +84,13 @@ reintentar() {
|
|||||||
rc=$?
|
rc=$?
|
||||||
case "$rc" in
|
case "$rc" in
|
||||||
10|12|23|30|35|255) ;; # red / pipe roto / timeout: insistir
|
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" ;;
|
*) echo "!! $etiqueta: error $rc que NO es de red — no reintento"; return "$rc" ;;
|
||||||
esac
|
esac
|
||||||
if [ "$intento" -ge 40 ]; then
|
if [ "$intento" -ge 40 ]; then
|
||||||
|
|||||||
Reference in New Issue
Block a user