snow-editor

small markdown and org-mode editor
Log | Files | Refs | README

restore-db.sh (755B)


      1 #!/usr/bin/env bash
      2 set -euo pipefail
      3 
      4 ROOT="$(cd "$(dirname "$0")/.." && pwd)"
      5 DB="${ROOT}/data/snow.db"
      6 BACKUP_DIR="${ROOT}/data/backups"
      7 
      8 if [[ $# -lt 1 ]]; then
      9   echo "Usage: $0 <backup-filename-or-path>" >&2
     10   echo "Example: $0 snow-2026-06-03-120000.db" >&2
     11   exit 1
     12 fi
     13 
     14 SOURCE="$1"
     15 if [[ ! -f "$SOURCE" ]]; then
     16   SOURCE="${BACKUP_DIR}/$1"
     17 fi
     18 
     19 if [[ ! -f "$SOURCE" ]]; then
     20   echo "Backup not found: $SOURCE" >&2
     21   exit 1
     22 fi
     23 
     24 echo "This will overwrite ${DB} with:"
     25 echo "  ${SOURCE}"
     26 echo "Stop the backend first: docker compose stop backend"
     27 read -r -p "Type RESTORE to continue: " CONFIRM
     28 
     29 if [[ "$CONFIRM" != "RESTORE" ]]; then
     30   echo "Aborted."
     31   exit 1
     32 fi
     33 
     34 mkdir -p "$(dirname "$DB")"
     35 cp "$SOURCE" "$DB"
     36 echo "Database restored from $SOURCE"