51 lines
1.1 KiB
Bash
Executable File
51 lines
1.1 KiB
Bash
Executable File
#!/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
|