apple:script_fuer_image_von_microsd_karte
Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Script für Backup von Disk unter macOS
Um ein Image auf eine Micro SD Karte oder einen USB Stick zu schreiben, gibt es zahlreiche Tools wie zum Beispiel balenaEtcher oder Raspberry Pi Imager. Für den Weg in die andere Richtung gibt es leider nichts brauchbares. Mit diesem Script kann somit jeder ein Backup von einer Micro SD Karte oder einen USB Stick anlegen.
Terminal öffnen und editor starten
nano DiskBackup.sh
Diesen Inhalt kopieren
#!/bin/bash
# Prüfen ob Script auf macOS läuft
if [[ "$(uname)" != "Darwin" ]]; then
echo "❌ Dieses Script funktioniert nur unter macOS."
exit 1
fi
echo "======================================"
echo " Disk Backup Script für macOS"
echo "======================================"
echo ""
# Laufwerke anzeigen
echo "📦 Verfügbare externe Laufwerke:"
echo ""
diskutil list | awk '
/^\/dev\/disk[0-9]+/ {
show = 1
if ($0 ~ /\(internal, physical\)/) show = 0
if ($0 ~ /\(synthesized\)/) show = 0
if ($0 ~ /\(disk image\)/) show = 0
}
show {
print
}
'
echo ""
# Disknummer abfragen
read -p "👉 Bitte DiskNumber eingeben (z.B. 4 für /dev/disk4): " DISK_NUMBER
# Validierung
if ! [[ "$DISK_NUMBER" =~ ^[0-9]+$ ]]; then
echo "❌ Ungültige DiskNumber."
exit 1
fi
DISK="/dev/disk${DISK_NUMBER}"
RDISK="/dev/rdisk${DISK_NUMBER}"
# Prüfen ob Device existiert
if [[ ! -e "$DISK" ]]; then
echo "❌ Laufwerk $DISK existiert nicht."
exit 1
fi
# Backup-Name abfragen
read -p "💾 Backup-Name eingeben (ohne Endung): " BACKUP_NAME
# Leerzeichen ersetzen
BACKUP_NAME=$(echo "$BACKUP_NAME" | tr ' ' '_')
if [[ -z "$BACKUP_NAME" ]]; then
echo "❌ Backup-Name darf nicht leer sein."
exit 1
fi
# Aktuellen Benutzer automatisch ermitteln
CURRENT_USER=$(whoami)
# Zielpfad
OUTPUT_FILE="/Users/${CURRENT_USER}/Downloads/${BACKUP_NAME}.img.gz"
echo ""
echo "======================================"
echo "📋 Zusammenfassung"
echo "Laufwerk: $DISK"
echo "Backup-Datei: $OUTPUT_FILE"
echo "======================================"
echo ""
read -p "▶️ Backup starten? (j/n): " CONFIRM
if [[ ! "$CONFIRM" =~ ^[JjYy]$ ]]; then
echo "❌ Abgebrochen."
exit 0
fi
echo ""
echo "🔓 Unmounting $DISK ..."
diskutil unmountDisk "$DISK"
if [[ $? -ne 0 ]]; then
echo "❌ Fehler beim Unmount."
exit 1
fi
echo ""
echo "📀 Erstelle Image..."
echo "⚠️ Du wirst ggf. nach deinem Passwort gefragt."
sudo dd if="$RDISK" bs=4m status=progress | gzip > "$OUTPUT_FILE"
# Prüfen ob dd erfolgreich war
if [[ ${PIPESTATUS[0]} -ne 0 ]]; then
echo "❌ Fehler beim Erstellen des Images."
exit 1
fi
echo ""
echo "⏏️ Werfe Laufwerk aus..."
diskutil eject "$DISK"
echo ""
echo "✅ Backup abgeschlossen!"
echo "📁 Datei gespeichert unter:"
echo "$OUTPUT_FILE"
Mit Control+X speichern und verlassen.
Script ausführbar machen
chmod +x DiskBackup.sh
Ausführen
./DiskBackup.sh
Abbruch ist jederzeit mit Control+C möglich.
apple/script_fuer_image_von_microsd_karte.1778862604.txt.gz · Zuletzt geändert: von dokuwikiadmin
