Když na některém VM zůstane dlouho „viset“ snapshot, má to vliv na výkon nebo i zálohování. Čím je snapshot starší, tím horší je situace. Procházet v GUI Proxmox VE jeden VM za druhým, je neefektivní. Situaci řeší automatizace.
Našel jsem na internetu tento skript, který problém řeší:
!/bin/bash
printf "%-25s %6s %-20s %s\n" "VM NAME" "VMID" "SNAPSHOT" "TIMESTAMP"
printf '%s\n' "$(printf '=%.0s' {1..80})"
pvesh get /cluster/resources --type vm --output-format json \
| jq -r '.[] | "(.node);(.type);(.vmid);(.name)"' \
| xargs -P 10 -I {} bash -c '
IFS=";" read node type vmid vmname <<< "$1" pvesh get /nodes/$node/$type/$vmid/snapshot --output-format json 2>/dev/null \
| jq -r --arg vmid "$vmid" --arg vmname "$vmname" \
".[] | select(.name != \"current\") | \"(\$vmname);(\$vmid);(.name);(.snaptime // 0)\""
' _ {} \
| while IFS=";" read name id snap ts; do
[ "$ts" -gt 0 ] && ts=$(date -d @"$ts" "+%Y-%m-%d %H:%M") || ts="n/a"
printf "%-25s %6s %-20s %s\n" "$name" "$id" "$snap" "$ts"
done
Pokud kript nahláísí chybu, že „jq: command not found“, je třeba tento nástroj nainstalovat.
apt update
apt install -y jq
Pak byste měli vidět (pokud někde snapshot máte) podobný výstup:
VM NAME VMID SNAPSHOT TIMESTAMP
Blog 105 test 2026-07-26 14:34