#!/usr/bin/env bash
# فاز ۸/P1 — بکاپ لوکال خودران دیتابیس (VACUUM INTO — امن روی DB زنده) + gzip + نگهداری ۱۴ نسخه‌ی آخر
# کران پیشنهادی:  20 3 * * *  /opt/panelvino/scripts/backup-local.sh >> /var/log/pv-backup.log 2>&1
set -eu
cd "$(dirname "$0")/.."
DEST="${PV_BACKUP_DIR:-data/backups}"
mkdir -p "$DEST"
STAMP=$(date +%Y%m%d-%H%M%S)
OUT="$DEST/panel-$STAMP.db"
node -e "const db=require('better-sqlite3')('data/panel.db'); db.prepare(\"VACUUM INTO '$OUT'\").run(); db.close();"
NODE_OK=$?
gzip -9 "$OUT"
echo "[$(date -Is)] بکاپ: ${OUT}.gz ($(du -h "${OUT}.gz" | cut -f1))"
# هرس: فقط ۱۴ تازه‌ترین می‌ماند
ls -1t "$DEST"/panel-*.db.gz 2>/dev/null | tail -n +15 | xargs -r rm -f
exit $NODE_OK
