From ad8e878af875e213cf65f532fe39b5e37fb93c52 Mon Sep 17 00:00:00 2001 From: dev Date: Tue, 13 Oct 2026 00:06:20 +0530 Subject: [PATCH] Daily SQLite backup script (VACUUM INTO, 7-day rotation) Live user data had only a stale pre-migration backup. First snapshot verified: 9,837 questions, 6 users. Termux has no cron; script is manual or Tasker-driven. --- deploy/termux-backup.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100755 deploy/termux-backup.sh diff --git a/deploy/termux-backup.sh b/deploy/termux-backup.sh new file mode 100755 index 0000000..dfb4b8f --- /dev/null +++ b/deploy/termux-backup.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +# Daily SQLite backup: VACUUM INTO a timestamped copy, keep 7 days. +# Usage: ./deploy/termux-backup.sh (run from repo root; safe while live) +# Termux has no cron, so run this from Termux:Tasker, a daily alarm via +# Termux:API, or manually. One line, one snapshot. +cd "$(dirname "$0")/.." +OUT="./backups/whaleprep-$(date +%F).db" +mkdir -p ./backups +sqlite3 ./whaleprep.db "VACUUM INTO '$OUT';" +ls -t ./backups/whaleprep-*.db | tail -n +8 | xargs -r rm -f +echo "backup -> $OUT ($(du -h "$OUT" | cut -f1))"