Skript um alle Minecraft Server zu löschen (delete_servers.sh)

#!/bin/bash

# Funktion zur Behandlung von Fehlern
handle_error() {
  echo "Ein Fehler ist aufgetreten: $1" >&2
  exit 1
}

# Funktion zur Prüfung des letzten Befehls auf Fehler
check_error() {
  if [[ "$?" -ne 0 ]]; then
    handle_error "Der vorherige Befehl war nicht erfolgreich."
  fi
}

# Bestätigung vor dem Löschen
if ! whiptail --title "Bestätigung" --yesno "Möchten Sie wirklich alle Server löschen? Dieser Vorgang kann nicht rückgängig gemacht werden." 10 60; then
  echo "Löschvorgang abgebrochen."
  exit 0
fi

# Ladebildschirm starten für Serverlöschung
(
  echo "10"; sleep 1

  # Verzeichnisse löschen
  server_dirs=$(ls -d /home/server_* 2>/dev/null)
  if [ -z "$server_dirs" ]; then
    echo "100"; sleep 1
    whiptail --title "Fertig" --msgbox "Keine Server gefunden zum Löschen." 10 60
    exit 0
  fi

  total_dirs=$(echo "$server_dirs" | wc -l)
  current_dir=0

  for dir in $server_dirs; do
    rm -rf "$dir"
    check_error
    current_dir=$((current_dir + 1))
    progress=$((current_dir * 100 / total_dirs))
    echo $progress
  done

  echo "100"; sleep 1
) | whiptail --gauge "Server werden gelöscht..." 6 60 0

# Erfolgsmeldung
whiptail --title "Fertig" --msgbox "Alle Server wurden erfolgreich gelöscht." 10 60