From 6283bba430be25fe3ab47b46ae0788de95ec8913 Mon Sep 17 00:00:00 2001 From: alf Date: Thu, 31 Jul 2025 10:15:36 +0000 Subject: [PATCH] =?UTF-8?q?lock=5Fand=5Funmount.sh=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lock_and_unmount.sh | 49 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 lock_and_unmount.sh diff --git a/lock_and_unmount.sh b/lock_and_unmount.sh new file mode 100644 index 0000000..a23876f --- /dev/null +++ b/lock_and_unmount.sh @@ -0,0 +1,49 @@ +#!/bin/bash + +# === KONFIGURATION === +declare -A DRIVES +# Format: [Mapper-Name]="/srv/dev-disk-by-uuid-" +DRIVES[media]="/srv/dev-disk-by-uuid-cdd3de56-0b4f-48cf-aec0-abf441a759b5" +DRIVES[eintb]="/srv/dev-disk-by-uuid-97a953c1-2796-48d6-878b-083d4553bcf4" +DRIVES[kleine]="/srv/dev-disk-by-uuid-e8faffbf-7ba0-4fc3-876e-107f7c6a429d" + +for MAPPER in "${!DRIVES[@]}"; do + MOUNTPOINT="${DRIVES[$MAPPER]}" + echo ">>> Verarbeite $MAPPER (Mountpoint: $MOUNTPOINT)" + + if mountpoint -q "$MOUNTPOINT"; then + echo " 📢 Mountpoint ist eingehängt." + + # Blockierende Prozesse anzeigen + echo " 🔎 Blockierende Prozesse:" + sudo fuser -vm "$MOUNTPOINT" || echo " Keine Prozesse gefunden." + + # Normal aushängen versuchen + echo " 🚪 Versuche normales Aushängen..." + if sudo umount "$MOUNTPOINT"; then + echo " ✅ Erfolgreich ausgehängt." + else + echo " ⚠ Normales Aushängen fehlgeschlagen." + + echo " 💤 Versuche Lazy Unmount..." + if sudo umount -l "$MOUNTPOINT"; then + echo " ✅ Lazy Unmount erfolgreich." + else + echo " ❌ Lazy Unmount ebenfalls fehlgeschlagen. Bitte prüfen!" + continue + fi + fi + else + echo " ℹ Mountpoint ist nicht eingehängt." + fi + + # LUKS schließen + echo " 🔒 Schließe LUKS-Mapper /dev/mapper/$MAPPER ..." + if sudo cryptsetup close "$MAPPER"; then + echo " ✅ Mapper $MAPPER geschlossen." + else + echo " ⚠ Mapper $MAPPER konnte nicht geschlossen werden (evtl. noch in Benutzung)." + fi + + echo +done