Files
proxmox/scripts/destroy-vmids-2506-2508.sh

39 lines
1.5 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
# Destroy VMIDs 2506, 2507, 2508 on all Proxmox hosts (LXC or QEMU).
# Run from a machine with SSH access to the Proxmox hosts.
# Usage: bash scripts/destroy-vmids-2506-2508.sh [--dry-run]
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
source "${PROJECT_ROOT}/config/ip-addresses.conf" 2>/dev/null || true
HOSTS=(
"${PROXMOX_ML110:-192.168.11.10}"
"${PROXMOX_R630_01:-192.168.11.11}"
"${PROXMOX_R630_02:-192.168.11.12}"
)
VMIDS=(2506 2507 2508)
SSH_OPTS="-o ConnectTimeout=8 -o StrictHostKeyChecking=no"
DRY_RUN=false
[[ "${1:-}" = "--dry-run" ]] && DRY_RUN=true
for host in "${HOSTS[@]}"; do
for vmid in "${VMIDS[@]}"; do
if $DRY_RUN; then
echo "[dry-run] Would destroy VMID $vmid on $host (if present)"
continue
fi
if ssh $SSH_OPTS root@"$host" "pct list 2>/dev/null | awk '\$1==$vmid {print \$1}'" 2>/dev/null | grep -q .; then
echo "Destroying LXC $vmid on $host..."
ssh $SSH_OPTS root@"$host" "pct stop $vmid 2>/dev/null || true; pct destroy $vmid --purge 1" 2>/dev/null || true
elif ssh $SSH_OPTS root@"$host" "qm list 2>/dev/null | awk '\$1==$vmid {print \$1}'" 2>/dev/null | grep -q .; then
echo "Destroying QEMU $vmid on $host..."
ssh $SSH_OPTS root@"$host" "qm stop $vmid 2>/dev/null || true; qm destroy $vmid" 2>/dev/null || true
fi
done
done
echo "Done. VMIDs 2506, 2507, 2508 removed from all hosts. Update master docs (MISSING_CONTAINERS_LIST, DEPLOYMENT_STATUS_MASTER, CHAIN138_BESU_CONFIGURATION, etc.)."