← back to Rentv Ad Engine
chore: refresh.sh deploy-guard (keep backup until push succeeds, rollback on rsync fail) + version bump (session close)
fa2ec3ff44334ab330bff4f9a4af9cba1ee6ad2b · 2026-08-07 15:50:56 -0700 · Steve Abrams
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Files touched
M package.jsonM scripts/refresh.sh
Diff
commit fa2ec3ff44334ab330bff4f9a4af9cba1ee6ad2b
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Fri Aug 7 15:50:56 2026 -0700
chore: refresh.sh deploy-guard (keep backup until push succeeds, rollback on rsync fail) + version bump (session close)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---
package.json | 2 +-
scripts/refresh.sh | 11 +++++++----
2 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/package.json b/package.json
index c0d2031..d9b2d14 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "rentv-ad-engine",
- "version": "0.1.0",
+ "version": "0.1.1",
"private": true,
"description": "Searchable directory of every advertiser/sponsor and every guest across RENTV's Vimeo video library, harvested from auto-caption transcripts.",
"main": "server.js",
diff --git a/scripts/refresh.sh b/scripts/refresh.sh
index bcfe0d5..e69b750 100755
--- a/scripts/refresh.sh
+++ b/scripts/refresh.sh
@@ -50,12 +50,15 @@ if [ "$ADV1" -lt "$((ADV0-3))" ] || [ "$AIR1" -lt "$((AIR0-5))" ] || [ "$ADV1" -
say "✗ GUARD TRIPPED — rebuild collapsed (adv ${ADV0}→${ADV1}, air ${AIR0}→${AIR1}); rolling back, NOT deploying."
restore; rm -rf "$BK"; exit 2
fi
-rm -rf "$BK"
+# Deploy — KEEP the local backup until the push succeeds so a failed rsync can roll local back.
say "→ deploy regenerated data to prod (targeted, no --delete)"
-rsync -az --exclude 'soundcloud/audio' --exclude 'transcripts' data/ "$REMOTE/data/" >>"$LOG" 2>&1
-rsync -az public/img/posters/ "$REMOTE/public/img/posters/" >>"$LOG" 2>&1
-ssh -o ConnectTimeout=15 root@45.61.58.125 'pm2 restart rentv-ad-engine --update-env >/dev/null 2>&1' >>"$LOG" 2>&1
+if ! rsync -az --exclude 'soundcloud/audio' --exclude 'transcripts' data/ "$REMOTE/data/" >>"$LOG" 2>&1; then
+ say "✗ rsync to prod FAILED — rolling back local, NOT restarting pm2."; restore; rm -rf "$BK"; exit 3
+fi
+rsync -az public/img/posters/ "$REMOTE/public/img/posters/" >>"$LOG" 2>&1 || say "⚠ poster rsync failed (non-fatal)"
+rm -rf "$BK" # prod data pushed OK — safe to drop the local backup now
+ssh -o ConnectTimeout=15 root@45.61.58.125 'pm2 restart rentv-ad-engine --update-env >/dev/null 2>&1' >>"$LOG" 2>&1 || say "⚠ pm2 restart failed"
CODE=$(curl -s -o /dev/null -w '%{http_code}' -u 'admin:DW2024!' https://rentv.agentabrams.com/advertisers/api/health)
say "prod health after deploy: $CODE"
git add data/ public/img/posters >/dev/null 2>&1
← 6782e69 add refresh launchd plist
·
back to Rentv Ad Engine
·
auto-data-snapshot: 2026-08-07T15:54:54 (1 data files) — pac 72e1963 →