Benutzer-Werkzeuge

Webseiten-Werkzeuge


apple:script_fuer_image_von_microsd_karte

Dies ist eine alte Version des Dokuments!


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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki