45 lines
1.2 KiB
Bash
Executable file
45 lines
1.2 KiB
Bash
Executable file
#!/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
|