#!/usr/bin/env bash set -euo pipefail # Skript vytvoří konzistentní SQLite backup přes sqlite3 .backup příkaz. # Nepoužívejte obyčejný cp pro běžící SQLite databázi. DATA_DIR="${DATA_DIR:-./data}" BACKUP_DIR="${BACKUP_DIR:-./backups}" DB_NAME="${DB_NAME:-subnet-allocator.db}" DB_PATH="${DATA_DIR}/${DB_NAME}" if ! command -v sqlite3 >/dev/null 2>&1; then echo "ERROR: sqlite3 není nainstalováno." >&2 exit 1 fi if [ ! -f "$DB_PATH" ]; then echo "ERROR: Databáze neexistuje: $DB_PATH" >&2 exit 1 fi mkdir -p "$BACKUP_DIR" TIMESTAMP=$(date -u +"%Y%m%dT%H%M%SZ") BACKUP_FILE="${BACKUP_DIR}/${DB_NAME}.${TIMESTAMP}.backup" echo "Vytvářím konzistentní backup: $BACKUP_FILE" sqlite3 "$DB_PATH" ".backup '${BACKUP_FILE}'" echo "Backup dokončen: $BACKUP_FILE" ls -lh "$BACKUP_FILE"