#!/bin/bash set -euo pipefail # BOC Database Restore Script # Återställer från senaste backup BACKUP_DIR="/opt/backups/boc" if [ $# -eq 0 ]; then # Hitta senaste backup LATEST_BOC=$(ls -t "$BACKUP_DIR"/boc_*.sql.gz 2>/dev/null | head -1) LATEST_LEDGER=$(ls -t "$BACKUP_DIR"/ledger_*.sql.gz 2>/dev/null | head -1) else LATEST_BOC="$1" LATEST_LEDGER="${1/boc_/ledger_}" fi if [ -z "$LATEST_BOC" ] || [ ! -f "$LATEST_BOC" ]; then echo "No backup found!" exit 1 fi echo "Restoring from: $LATEST_BOC" # Stoppa BOC echo "Stopping BOC..." sudo systemctl stop boc # Återställ BOC databas echo "Restoring BOC database..." gunzip -c "$LATEST_BOC" | psql -h localhost -U boc_app -d boc # Återställ Ledger databas (om finns) if [ -n "$LATEST_LEDGER" ] && [ -f "$LATEST_LEDGER" ]; then echo "Restoring Ledger database..." gunzip -c "$LATEST_LEDGER" | psql -h localhost -U postgres -d aamos_ledger fi # Starta BOC echo "Starting BOC..." sudo systemctl start boc # Verifiera sleep 3 if curl -sf http://localhost:9094/health > /dev/null; then echo "Restore successful!" else echo "Restore failed - check logs" exit 1 fi