Files
proxmox/scripts/backup-proxmox-configs.sh

29 lines
1.0 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
# Backup Proxmox-related configs (config/, .env) locally
# Usage: ./scripts/backup-proxmox-configs.sh [--dry-run]
set -euo pipefail
DRY_RUN=false
[[ "${1:-}" == "--dry-run" ]] && DRY_RUN=true
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
BACKUP_DIR="${BACKUP_DIR:-$PROJECT_ROOT/backups/configs}"
TS=$(date +%Y%m%d_%H%M%S)
BACKUP_PATH="$BACKUP_DIR/proxmox-configs-$TS"
mkdir -p "$BACKUP_DIR"
if $DRY_RUN; then
echo "[DRY-RUN] Would create $BACKUP_PATH"
echo "[DRY-RUN] Would backup: config/, .env, smom-dbis-138/.env"
exit 0
fi
mkdir -p "$BACKUP_PATH"
[ -d "$PROJECT_ROOT/config" ] && cp -r "$PROJECT_ROOT/config" "$BACKUP_PATH/"
[ -f "$PROJECT_ROOT/.env" ] && cp "$PROJECT_ROOT/.env" "$BACKUP_PATH/"
[ -f "$PROJECT_ROOT/smom-dbis-138/.env" ] && cp "$PROJECT_ROOT/smom-dbis-138/.env" "$BACKUP_PATH/" 2>/dev/null || true
echo "[OK] Config backup: $BACKUP_PATH"
echo "For full Proxmox backup run on host: vzdump 1000 1001 --storage local-lvm --mode snapshot"