Provide a skript to delete VM disks in /lmn/vm
This commit is contained in:
parent
3ac7e99bb0
commit
e7b2f7edd9
3 changed files with 51 additions and 0 deletions
|
|
@ -3,6 +3,11 @@
|
|||
%role-student ALL=(lmnsynci) NOPASSWD: /usr/local/bin/vm-sync
|
||||
%examusers ALL=(lmnsynci) NOPASSWD: /usr/local/bin/vm-sync
|
||||
|
||||
# vm-delete: Delete VM-Images
|
||||
%role-teacher ALL=(lmnsynci) NOPASSWD: /usr/local/bin/vm-delete
|
||||
%role-student ALL=(lmnsynci) NOPASSWD: /usr/local/bin/vm-delete
|
||||
%examusers ALL=(lmnsynci) NOPASSWD: /usr/local/bin/vm-delete
|
||||
|
||||
# vm-aria2: Start/Stop aria2 as systemd-service for VM-Images
|
||||
lmnsynci ALL=(root) NOPASSWD: /usr/local/bin/vm-aria2
|
||||
|
||||
|
|
|
|||
45
roles/lmn_vm/files/vm-delete
Executable file
45
roles/lmn_vm/files/vm-delete
Executable file
|
|
@ -0,0 +1,45 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -eu
|
||||
|
||||
directory="/lmn/vm"
|
||||
|
||||
if [ ! -d "$directory" ]; then
|
||||
echo "No VM directory found."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
qcow2_files=("$directory"/*.qcow2)
|
||||
|
||||
if [ "${#qcow2_files[@]}" -eq 0 ]; then
|
||||
echo "Keine QCOW2-Dateien gefunden."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Gefundene QCOW2-Dateien:"
|
||||
echo "-------------------------------------------------------------"
|
||||
printf "%-50s %10s\n" "Datei" "Größe (MB)"
|
||||
echo "-------------------------------------------------------------"
|
||||
|
||||
for file in "${qcow2_files[@]}"; do
|
||||
size=$(du -m "$file" | cut -f1) # Größe in MB
|
||||
printf "%-50s %10d\n" "$file" "$size"
|
||||
done
|
||||
|
||||
echo "-------------------------------------------------------------"
|
||||
|
||||
for file in "${qcow2_files[@]}"; do
|
||||
read -rp "Möchtest du die Datei $file löschen? (j/n) " confirmation
|
||||
if [[ "$confirmation" == "j" || "$confirmation" == "J" ]]; then
|
||||
link_count=$(stat -c %h "$file")
|
||||
rm "$file"
|
||||
echo "$file wurde gelöscht."
|
||||
if [ "$link_count" -gt 1 ]; then
|
||||
echo "Achtung: $file hat noch $((link_count - 1)) weitere Hardlinks."
|
||||
echo "Diese liegen evtl. unter:"
|
||||
echo "- /var/tmp/${UID}/vm/ (temporäre VMs, werden automatisch beim Neustart gelöscht)"
|
||||
echo "- /var/vm/${UID}/ (persistente VMs)"
|
||||
fi
|
||||
echo
|
||||
fi
|
||||
done
|
||||
|
|
@ -118,6 +118,7 @@
|
|||
group: root
|
||||
mode: '0755'
|
||||
loop:
|
||||
- vm-delete
|
||||
- vm-create
|
||||
- vm-rebase
|
||||
- vm-run
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue