29 lines
1.0 KiB
Bash
29 lines
1.0 KiB
Bash
|
|
#!/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"
|