mirror of
https://github.com/kneutron/ansitest.git
synced 2025-01-30 05:02:54 +08:00
Add files via upload
This commit is contained in:
parent
c062c4acde
commit
ddb63248b4
48
proxmox/proxmox-cluster-delete-all-snapshots-for-vm.sh
Normal file
48
proxmox/proxmox-cluster-delete-all-snapshots-for-vm.sh
Normal file
@ -0,0 +1,48 @@
|
||||
#!/bin/bash
|
||||
|
||||
# REF: https://forum.proxmox.com/threads/feature-request-button-to-delete-all-snapshots-at-once.147460/#post-666313
|
||||
|
||||
# Cluster version - delete all snapshots for a vm
|
||||
# NOTE this also works on unclustered instances of pve
|
||||
|
||||
# Thanks to original author bbgeek17
|
||||
# enhanced by kneutron
|
||||
|
||||
# USE AT YOUR OWN RISK - I TAKE NO REPSONSIBILITY FOR DATA LOSS!
|
||||
|
||||
# Depends: jq
|
||||
[ $(which jq |wc -l) -eq 0 ] && apt install -y jq
|
||||
|
||||
# arg1 = vmid
|
||||
if [[ $# -lt 1 ]];then
|
||||
echo "You must provide a parameter!"
|
||||
echo "USAGE: $0 [VMID]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
logf=~/deleted-snapshots-cluster.log
|
||||
|
||||
set -u # abort on undefined var
|
||||
|
||||
echo "$(date) - Gathering information"
|
||||
echo '=========='
|
||||
VMID=$1
|
||||
NODE=$(pvesh get /cluster/resources --type vm --output-format json \
|
||||
|jq --argjson myvmid $VMID -r '.[]|select( .vmid == $myvmid )|.node')
|
||||
|
||||
# show vm info
|
||||
(pvesh get /cluster/resources --type vm --human-readable 1 --noborder 1 |egrep "cgroup|$1") |column -t
|
||||
|
||||
# TODO test for interactive session
|
||||
echo '=========='
|
||||
echo "About to removw ALL snapshots from VM $VMID located on node $NODE - ^C to back out or Enter to proceed"
|
||||
read
|
||||
|
||||
for snap in $(pvesh get /nodes/$NODE/qemu/$VMID/snapshot --output-format json \
|
||||
|jq -r 'sort_by(.snaptime)|.[]|select(.snaptime != null)|.name'); do
|
||||
echo "$(date) - $(id -un) - $VMID on $NODE - $snap" \
|
||||
|tee -a $logf
|
||||
time pvesh delete /nodes/$NODE/qemu/$VMID/snapshot/$snap
|
||||
done
|
||||
|
||||
date
|
Loading…
x
Reference in New Issue
Block a user