A deploy waits for the game server to answer and fails with its journal if it does not; a report id is checked whole; the backup's notes say what it keeps

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Jm2auWk6RP71CjaAb4FMoG
This commit is contained in:
Eric Wagoner
2026-09-29 12:25:38 -04:00
co-authored by Claude Opus 5.5
parent f78ff3ef8c
commit 60b3c0e60a
4 changed files with 22 additions and 10 deletions
+2 -2
View File
@@ -1,13 +1,13 @@
#!/usr/bin/env bash
# Nightly ledger backup to DigitalOcean Spaces, one prefix per game in the shared bucket.
# current/ - exact mirror of /var/lib/__SLUG__
# current/ - mirror of /var/lib/__SLUG__, less the rollup (rebuilt from logs)
# snapshots/ - one dated copy per day, pruned after 90 days
# Ledgers are append-only JSONL; the game server never needs stopping.
# Sentry Crons check-in: /root/.__SLUG__-sentry-cron holds the check-in
# URL (absent file = no check-ins). SCHEDULE must match /etc/cron.d/__SLUG__.
set -u
SCHEDULE="23 7 * * *"
BUCKET="kestrel-wizwar-backups"
BUCKET="kestrel-wizwar-backups" # the hall's shared Space, named for its first tenant
PREFIX="__SLUG__"
SRC="/var/lib/__SLUG__"
LOG="/var/log/__SLUG__/backup.log"