From a075198fedb505d634d7577ffc4469f76142ea57 Mon Sep 17 00:00:00 2001 From: William Mantly Date: Sun, 2 Aug 2026 11:57:19 -0400 Subject: [PATCH] fix: prevent pipefail abort when redis-cli fails on restarting container --- setup.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/setup.sh b/setup.sh index dd5391e..0d02c8f 100755 --- a/setup.sh +++ b/setup.sh @@ -617,7 +617,7 @@ backup_before_rebuild() { docker exec "$svc" redis-cli BGSAVE >/dev/null 2>&1 || true ok=0 for i in $(seq 1 10); do - if [[ "$(docker exec "$svc" redis-cli LASTSAVE 2>/dev/null | tr -dc '0-9')" -gt "$before" ]]; then + if [[ "$(docker exec "$svc" redis-cli LASTSAVE 2>/dev/null | tr -dc '0-9' || echo 0)" -gt "$before" ]]; then ok=1; break fi sleep 1 @@ -629,8 +629,8 @@ backup_before_rebuild() { fi # Redis writes dump.rdb to `dir`/`dbfilename`; ask it where that is so the # copy works across the unified (/data) and standalone (/app) layouts. - rdir="$(docker exec "$svc" redis-cli CONFIG GET dir 2>/dev/null | sed -n '2p' | tr -d '\r\n')" - rfile="$(docker exec "$svc" redis-cli CONFIG GET dbfilename 2>/dev/null | sed -n '2p' | tr -d '\r\n')" + rdir="$(docker exec "$svc" redis-cli CONFIG GET dir 2>/dev/null | sed -n '2p' | tr -d '\r\n' || true)" + rfile="$(docker exec "$svc" redis-cli CONFIG GET dbfilename 2>/dev/null | sed -n '2p' | tr -d '\r\n' || true)" rpath="${rdir:+$rdir/}${rfile:-dump.rdb}" if [[ "$ok" == "1" ]] && docker cp "$svc:$rpath" "$dir/$svc.rdb" >/dev/null 2>&1; then info " Redis ($svc) -> $svc.rdb"