Autarkes Foto-Backup: Der Raspberry Pi als mobiler Image-Tank

Wer wochenlang in abgelegenen Regionen fotografiert, kennt das Problem: Die SD-Karten füllen sich schneller als gedacht. Die Angst vor einem Datenverlust durch eine beschädigte Karte oder einen Verlust reist immer mit. Ein Laptop ist schwer und zu stromhungrig für den Rucksack. Die Lösung für dieses Problem ist ein Image-Tank auf Basis eines Raspberry Pi.

In diesem Beitrag beschreibe ich, wie ich einen Raspberry Pi (Zero 2 W oder 4) so konfiguriere, dass er beim Einstecken einer SD-Karte vollautomatisch alle Bilder auf eine angeschlossene SSD spiegelt.

Warum ein Raspberry Pi für das Foto-Backup?

Der größte Vorteil dieses Systems ist die vollständige Autarkie. Ein Raspberry Pi Zero 2 W verbraucht minimal Strom und kann problemlos über eine herkömmliche Powerbank betrieben werden. Sobald die Konfiguration einmal steht, benötigt das System weder Monitor noch Tastatur oder Maus. Status-LEDs informieren zuverlässig über den Fortschritt des Backups.

Die Hardware-Checkliste

  • Raspberry Pi: Ein Raspberry Pi 4 (höhere Geschwindigkeit) oder ein Raspberry Pi Zero 2 W. Hinweis: Auf der Platine selbst steht oft nur „Raspberry Pi Zero 2“, da es von dieser Generation aktuell nur die Version mit integriertem WLAN gibt. Er ist dank seines Quad-Core-Prozessors deutlich performanter als sein Vorgänger und ideal für das Handling großer Datenmengen geeignet.
  • Wegen der kurzen Betriebszeit nicht unbedingt notwendig, aber dennoch sinnvoll: Kühlkörper! Mein Favorit ist dieser, der den Raspi Zero 2W komplett überspannt.
  • SSD: Eine externe USB-SSD (z. B. Samsung T5/T7) für die robuste Datensicherung.
  • Kartenleser: Ein kompakter USB-SD-Kartenleser.
  • Stromversorgung: Eine Powerbank mit mindestens 2A Ausgangsleistung.
  • Status-LEDs: Die Nutzung der Onboard-LED reicht meist aus, um den Kopierstatus zu signalisieren.

Das Fundament: Betriebssystem und SD-Karte

Damit der Image-Tank zuverlässig läuft, kommt es auf die richtige Software-Basis und ein langlebiges Speichermedium für das System an.

Wahl des Betriebssystems

Da der Pi ohne Monitor betrieben wird (Headless), ist das Raspberry Pi OS Lite (64-bit) die beste Wahl. Es verzichtet auf eine grafische Benutzeroberfläche, was Ressourcen spart, die Bootzeit verkürzt und die Stabilität erhöht.

Die passende SD-Karte

Für das Betriebssystem selbst reicht eine Karte mit 16 GB oder 32 GB völlig aus. Wichtiger als die Größe ist die Haltbarkeit. Da das System im Außeneinsatz oft hart ausgeschaltet wird (Powerbank abziehen), empfehle ich High-Endurance-Karten (z. B. SanDisk Max Endurance oder Samsung PRO Endurance). Diese sind für viele Schreibzyklen und widrige Bedingungen ausgelegt.

Installation mit dem Raspberry Pi Imager:

  1. Lade den Raspberry Pi Imager von der offiziellen Webseite herunter.
  2. Wähle unter „OS“ das „Raspberry Pi OS (other)“ und dann die „Lite (64-bit)“ Version.
  3. Wähle unter „Storage“ deine SD-Karte aus.
  4. Klicke auf „Next“ und öffne die „Edit Settings“ (OS Customization).
  5. Setze einen Hostnamen (z. B. imagetank), erstelle einen Benutzernamen mit Passwort und konfiguriere Dein WLAN sowie SSH. Das ist wichtig, damit Du später vom PC oder Smartphone aus auf den Pi zugreifen kannst.
  6. Starte den Schreibvorgang.

Energieeffizienz: Den Stromverbrauch optimieren

Da wir den Pi autark an einer Powerbank betreiben, zählt jedes Milliampere. Da kein Monitor angeschlossen ist, kann der HDMI-Ausgang deaktiviert werden. Auch ungenutzte Module wie Bluetooth lassen sich abschalten.

In der Datei /boot/config.txt (oder /boot/firmware/config.txt) lassen sich folgende Zeilen ergänzen, um Energie zu sparen:

HDMI deaktivieren (spart ca. 20-30mA)

hdmi_blanking=1

Bluetooth deaktivieren, falls nicht benötigt

dtoverlay=disable-bt

Das richtige Gehäuse: Schutz für den harten Einsatz

Da der Image-Tank oft im Rucksack oder unter widrigen Bedingungen in der Fototasche landet, ist ein stabiles Gehäuse empfehlenswert. Hier gibt es zwei Wege:

1. Gehäuse von der Stange

Für den Raspberry Pi 4 empfehle ich das Flirc-Gehäuse. Es besteht aus Aluminium und fungiert gleichzeitig als riesiger Kühlkörper, was bei langen Kopiervorgängen im Sommer essenziell ist. Für den Zero 2 W ist das offizielle Raspberry Pi Case eine solide und sehr kompakte Wahl.

2. 3D-Druck: Maßgeschneidert und modular

Wer Zugriff auf einen 3D-Drucker hat, kann den Image-Tank noch weiter optimieren. Besonders spannend sind Rugged-Gehäuse, die zusätzlich Platz für den SD-Kartenleser bieten.

Das Bild zeigt ein selbstgedrucktes Gehäuse für den Raspberry Pi Zero 2W mit dem eingebauten Raspi.
Ein selbstgedrucktes Gehäuse schützt den Raspi Zero 2W

Schritt 1: Das Backup-Skript mit LED-Feedback

Dieses Skript übernimmt die Arbeit. Es nutzt die Onboard-LED des Pi Zero 2 W, um den Status anzuzeigen: Sie blinkt während des Kopierens und leuchtet dauerhaft, wenn das Backup erfolgreich war.
Ich habe es im Verzeichnis /usr/local/bin/ abgelegt und ihm den Dateinamen backup_script.sh gegeben.

#!/bin/bash

# — KONFIGURATION —
# Pfade zu den Mount-Punkten (Passe diese ggf. an deine udev/fstab Einstellungen an)
QUELLE=“/media/usb_sd“
ZIEL_BASIS=“/media/usb_ssd/backups“
ZEITSTEMPEL=$(date +%Y-%m-%d_%H-%M-%S)
ZIEL_ORDNER=“$ZIEL_BASIS/$ZEITSTEMPEL“

# Pfad zur Steuerung der Onboard-LED (Pi Zero 2W / Pi 4)
LED_PFAD=“/sys/class/leds/led0/brightness“

# — FUNKTIONEN —

# Signalisiert den Start des Skripts (zweimal kurzes Blinken)
signal_start() {
echo 1 > „$LED_PFAD“ && sleep 0.1 && echo 0 > „$LED_PFAD“ && sleep 0.1
echo 1 > „$LED_PFAD“ && sleep 0.1 && echo 0 > „$LED_PFAD“
}

# Blink-Schleife waehrend des Kopiervorgangs
start_blinking() {
(
while true; do
echo 1 > „$LED_PFAD“
sleep 0.5
echo 0 > „$LED_PFAD“
sleep 0.5
done
) &
echo $!
}

# — HAUPTTEIL —

# 1. Start signalisieren
signal_start

# 2. Prüfen, ob Quell- und Zielpfad existieren
if [ ! -d „$QUELLE“ ]; then
# Fehler: Quelle nicht gefunden (schnelles Blinken als Fehlersignal)
for i in {1..10}; do echo 1 > „$LED_PFAD“; sleep 0.05; echo 0 > „$LED_PFAD“; sleep 0.05; done
exit 1
fi

# 3. Zielverzeichnis erstellen
mkdir -p „$ZIEL_ORDNER“

# 4. Visuelles Feedback starten (Blinken)
BLINK_PID=$(start_blinking)

# 5. Kopiervorgang mit rsync
# -a: Archiv-Modus (erhaelt Zeitstempel, Rechte etc.)
# -v: Verbose (fuer die Logdatei)
# –ignore-existing: Verhindert das Ueberschreiben bereits gesicherter Fotos
rsync -av –ignore-existing „$QUELLE/“ „$ZIEL_ORDNER/“ >> /var/log/image_tank.log 2>&1

# 6. Blinken stoppen
kill „$BLINK_PID“
echo 0 > „$LED_PFAD“

# 7. Daten-Sync erzwingen (Wichtig vor dem Abziehen!)
sync

# 8. Erfolg signalisieren: LED leuchtet dauerhaft
# Jetzt kann die SD-Karte oder der Strom sicher entfernt werden.
echo 1 > „$LED_PFAD“


  1. Speichere die Datei auf dem Raspberry Pi unter /usr/local/bin/backup_script.sh.

  2. Mache das Skript ausführbar mit dem Befehl: sudo chmod +x /usr/local/bin/backup_script.sh.

  3. Teste das Skript einmal manuell, um sicherzustellen, dass die Pfade zur SSD und dem Kartenleser korrekt sind.

Schritt 2: Die Automatisierung via udev-Regel

Damit das Backup ohne manuellen Befehl startet, nutze ich das Linux-Subsystem udev. Eine udev-Regel erkennt, wenn ein USB-Speichermedium angeschlossen wird, und führt sofort mein Skript aus.

Datei: /etc/udev/rules.d/10-camera-backup.rules

Diese Regel reagiert auf das Hinzufügen eines Block-Devices (SD-Karte)

ACTION=="add", SUBSYSTEM=="block", KERNEL=="sd[a-z][1-9]", RUN+="/usr/local/bin/backup_script.sh"

Maximale Datensicherheit bei minimalem Gewicht

Diese Lösung ist ein extrem leichter und robuster Begleiter für Fototouren. Die Bilder werden sofort doppelt gesichert. Das System ist kostengünstig, wartungsarm und lässt sich individuell an eigene Bedürfnisse anpassen. So bleibt mehr Zeit für das Wesentliche: Das perfekte Motiv.