Prototype2.1-JSON
This commit is contained in:
Executable
+52
@@ -0,0 +1,52 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Skript zum Löschen aller gestoppten LXCs auf dem lokalen Proxmox-Node
|
||||
# Verwendet pct destroy und berücksichtigt nur den lokalen Node
|
||||
|
||||
# Überprüfen, ob das Skript als Root ausgeführt wird
|
||||
if [ "$(id -u)" -ne 0 ]; then
|
||||
echo "Dieses Skript muss als Root ausgeführt werden." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Überprüfen, ob pct verfügbar ist
|
||||
if ! command -v pct &> /dev/null; then
|
||||
echo "pct ist nicht installiert. Bitte installieren Sie es zuerst." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Alle gestoppten LXCs auf dem lokalen Node abrufen
|
||||
echo "Suche nach gestoppten LXCs auf diesem Node..."
|
||||
stopped_lxcs=$(pct list | awk '$2 == "stopped" {print $1}')
|
||||
|
||||
if [ -z "$stopped_lxcs" ]; then
|
||||
echo "Keine gestoppten LXCs auf diesem Node gefunden."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Gefundene gestoppte LXCs auf diesem Node:"
|
||||
echo "$stopped_lxcs" | while read -r lxc_id; do
|
||||
lxc_name=$(pct config $lxc_id | grep '^hostname:' | awk '{print $2}')
|
||||
echo " $lxc_id - $lxc_name"
|
||||
done
|
||||
|
||||
# Bestätigung einholen
|
||||
read -p "Möchten Sie diese LXCs wirklich löschen? (y/n): " confirm
|
||||
if [[ ! "$confirm" =~ ^[Yy]$ ]]; then
|
||||
echo "Löschvorgang abgebrochen."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# LXCs löschen
|
||||
echo "Lösche gestoppte LXCs..."
|
||||
for lxc_id in $stopped_lxcs; do
|
||||
echo "Lösche LXC $lxc_id..."
|
||||
pct destroy $lxc_id
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "LXC $lxc_id erfolgreich gelöscht."
|
||||
else
|
||||
echo "Fehler beim Löschen von LXC $lxc_id." >&2
|
||||
fi
|
||||
done
|
||||
|
||||
echo "Vorgang abgeschlossen."
|
||||
Reference in New Issue
Block a user