#!/usr/bin/env bash set -euo pipefail # Bezpečnostní upozornění: obnova přepíše aktuální databázi. # Zastavte kontejner před obnovou a nezapomeňte si předem zálohovat aktuální stav. DATA_DIR="${DATA_DIR:-./data}" BACKUP_DIR="${BACKUP_DIR:-./backups}" DB_NAME="${DB_NAME:-subnet-allocator.db}" DB_PATH="${DATA_DIR}/${DB_NAME}" if [ $# -lt 1 ]; then echo "Použití: $0 " >&2 echo "Dostupné backupy v ${BACKUP_DIR}:" >&2 ls -1 "$BACKUP_DIR"/*.backup 2>/dev/null || echo " žádné" >&2 exit 1 fi BACKUP_FILE="$1" if [ ! -f "$BACKUP_FILE" ]; then echo "ERROR: Backup soubor neexistuje: $BACKUP_FILE" >&2 exit 1 fi if [ -f "$DB_PATH" ]; then echo "UPOZORNĚNÍ: Aktuální databáze ${DB_PATH} bude přepsána." >&2 read -r -p "Pokračovat? [y/N] " CONFIRM if [[ ! "$CONFIRM" =~ ^[Yy]$ ]]; then echo "Obnova zrušena." >&2 exit 0 fi fi mkdir -p "$DATA_DIR" echo "Obnovuji databázi z: $BACKUP_FILE" cp "$BACKUP_FILE" "$DB_PATH" echo "Obnova dokončena: $DB_PATH"