db: auto-backup before server start + daily cron

- backup-db.sh: copies assets.db to /home/oplabs/backups/canteen-db/
- start.sh: runs backup automatically before every launch
- Daily cron at 3am for unattended backups
- Keeps last 30 backups, prunes oldest
This commit is contained in:
2026-05-21 20:21:16 -04:00
parent 58f8b67b28
commit 62146c5ce7
2 changed files with 33 additions and 0 deletions
+11
View File
@@ -36,6 +36,17 @@ if [ "${CANTEEN_WIPE_DB:-}" = "1" ]; then
rm -f "$DB_PATH" "${DB_PATH}-shm" "${DB_PATH}-wal"
fi
# ── Back up existing DB before launch ─────────────────────────────────────────
if [ -f "$DB_PATH" ]; then
BACKUP_DIR="/home/oplabs/backups/canteen-db"
mkdir -p "$BACKUP_DIR"
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
cp "$DB_PATH" "${BACKUP_DIR}/assets.db-${TIMESTAMP}"
# Keep last 30 backups
ls -t "${BACKUP_DIR}/assets.db-"* 2>/dev/null | tail -n +31 | xargs rm -f 2>/dev/null || true
echo " Backup: ${BACKUP_DIR}/assets.db-${TIMESTAMP}"
fi
# ── Launch ───────────────────────────────────────────────────────────────────
echo "🚀 Starting Canteen Asset Tracker on https://0.0.0.0:${PORT}"
echo " DB: $DB_PATH"