Emy/btt_cleanup.sh

103 lines
5.1 KiB
Bash
Raw Normal View History

2026-06-17 21:26:21 +00:00
#!/bin/bash
# BTT Tabula Rasa Cleanup Script
# Löscht alle alten Datenbankdateien, behält Lizenz und Einstellungen.
# BTT MUSS beendet sein bevor dieses Script läuft!
#
# Ausführen: bash ~/bin/btt_cleanup.sh
BTT_DIR="$HOME/Library/Application Support/BetterTouchTool"
echo ""
echo "╔══════════════════════════════════════════════════════════╗"
echo "║ BTT CLEANUP Tabula Rasa ║"
echo "╚══════════════════════════════════════════════════════════╝"
echo ""
# ── Sicherheitscheck: läuft BTT noch? ───────────────────────────────────────
if pgrep -x "BetterTouchTool" > /dev/null; then
echo " ✗ BetterTouchTool läuft noch bitte zuerst beenden!"
echo " killall BetterTouchTool oder Menüleiste → Quit BTT"
echo ""
exit 1
fi
echo " ✓ BetterTouchTool ist nicht aktiv"
echo ""
# ── Was wird gelöscht? ───────────────────────────────────────────────────────
echo " Folgende Dateien werden gelöscht:"
echo " ─────────────────────────────────────────────────────────"
FILES_TO_DELETE=$(find "$BTT_DIR" -maxdepth 1 -name "btt_data_store.*" -type f)
COUNT=0
TOTAL_SIZE=0
while IFS= read -r f; do
SIZE=$(du -sh "$f" 2>/dev/null | cut -f1)
echo " 🗑 $(basename "$f") ($SIZE)"
COUNT=$((COUNT + 1))
done <<< "$FILES_TO_DELETE"
echo ""
echo " Folgende Dateien BLEIBEN erhalten:"
echo " ─────────────────────────────────────────────────────────"
echo " ✓ bettertouchtool.bttlicense"
echo " ✓ btt_usage_v2.plist"
echo " ✓ btt_user_variables.plist"
echo " ✓ floating_menu_variables.plist"
echo " ✓ Backups/"
echo " ✓ PresetBundles/"
echo " ✓ Logs/"
echo ""
if [ $COUNT -eq 0 ]; then
echo " Keine Datenbankdateien gefunden nichts zu tun."
exit 0
fi
# ── Bestätigung ──────────────────────────────────────────────────────────────
echo " $COUNT Datei(en) werden permanent gelöscht."
echo ""
read -p " Fortfahren? (ja/nein): " CONFIRM
if [ "$CONFIRM" != "ja" ]; then
echo ""
echo " Abgebrochen. Nichts wurde gelöscht."
exit 0
fi
# ── Löschen ──────────────────────────────────────────────────────────────────
echo ""
echo " Lösche Datenbankdateien..."
while IFS= read -r f; do
rm "$f" && echo "$(basename "$f")" || echo " ✗ Fehler bei: $(basename "$f")"
done <<< "$FILES_TO_DELETE"
# ── iCloud Sync-Cache prüfen ─────────────────────────────────────────────────
ICLOUD_BTT="$HOME/Library/Mobile Documents/com~apple~CloudDocs/Library/Application Support/BetterTouchTool"
if [ -d "$ICLOUD_BTT" ]; then
echo ""
echo " ──────────────────────────────────────────────────────"
echo " ⚠ iCloud BTT-Ordner gefunden:"
echo " $ICLOUD_BTT"
ICLOUD_COUNT=$(find "$ICLOUD_BTT" -name "btt_data_store.*" | wc -l | tr -d ' ')
echo " $ICLOUD_COUNT Datenbankdateien in iCloud"
echo ""
read -p " iCloud-Datenbanken auch löschen? (ja/nein): " ICLOUD_CONFIRM
if [ "$ICLOUD_CONFIRM" = "ja" ]; then
find "$ICLOUD_BTT" -name "btt_data_store.*" -type f -delete
echo " ✓ iCloud-Datenbanken gelöscht"
else
echo " iCloud übersprungen BTT könnte die alte DB von dort zurückspielen!"
fi
fi
echo ""
echo "╔══════════════════════════════════════════════════════════╗"
echo "║ Fertig! Nächste Schritte: ║"
echo "║ ║"
echo "║ 1. BetterTouchTool starten ║"
echo "║ → BTT erstellt eine frische, leere Datenbank ║"
echo "║ 2. File → Import Preset → dein .bttpreset Backup ║"
echo "║ → Alle Shortcuts sind wieder da, keine Duplikate ║"
echo "╚══════════════════════════════════════════════════════════╝"
echo ""