13. Mai 2026
Pi-Hole Backup Guide
Ich habe seit einiger Zeit auf meinem alten Raspberry Pi Model 1B Pi-Hole laufen. Um für den Fall der Fälle gewappnet zu sein (wenn z.B. die SD-Karte kaputt geht), habe ich mir ein einfaches Backup eingerichtet.
Über das Webinterface von Pi-Hole kann man zwar ein Backup erstellen (Settings > Teleporter > Export), allerdings muss man sich dafür immer einloggen und das Backup manuell herunterladen.
Disclaimer: Dieser Beitrag wurde mit KI-Unterstützung erstellt. Es könnte also sein, dass die Anleitung nicht 100% korrekt ist. Bitte prüfe die Schritte sorgfältig, bevor du sie ausführst.
Was im Backup enthalten ist
- Alle Blocklisten (Adlists): Deine mühsam zusammengestellten Listen.
- Whitelist / Blacklist: Alle Ausnahmen, die du über die Zeit hinzugefügt hast.
- Local DNS Records: Deine händisch vergebenen Domains für lokale Geräte.
- DHCP-Einstellungen: Falls dein Pi-hole auch dein DHCP-Server ist (inkl. statischer IP-Reservierungen).
- Client-Gruppen: Die Zuordnung, welcher Rechner welche Filter bekommt.
- Privacy-Settings: Deine Einstellungen zum Logging.
Voraussetzungen
Ich beschreibe hier nur die Schritte wie mein System beeits eingerichtet ist: Auf meinem Raspberry Pi läuft bereits ein Pi-Hole Version 6 und ich nutze macOS im weitere Prozess. Die Nutzung vom Terminal ist hier essentiell und du solltest per SSH Zugriff auf den Pi haben und entsprechend die IP-Adresse und deinen Pi-User kennen, um die Befehle auszuführen.
Ersetze in den folgenden Beispielen immer "deine-pi-hole-ip" durch die tatsächliche IP-Adresse deines Raspberry Pi; Ggf. musst du auch den Standardbenutzernamen "pi" anpassen, falls du einen anderen Benutzer eingerichtet hast. Mein Raspberry Pi läuft mit dem User "raspiuser".
Zugriff per SSH-Key einrichten
Falls du noch keinen SSH-Key erstellt hast, solltest du das tun, um dich sicher mit deinem Raspberry Pi ohne Passwort-Eingabe verbinden zu können. Das kannst du prüfen, indem du folgenden Befehl in deinem Terminal ausführst:
ls -l ~/.ssh/id_ed25519.pub
Wenn "No such file" als Ausgabe erscheint, hast du noch keinen SSH-Key. Dann kannst du einen mit folgendem Befehl einen neuen erstellen:
ssh-keygen -t ed25519 -C "Dein Mac-Name"
Bestätige alle Fragen einfach mit Enter – ein Passwort/Passphrase für den Key ist optional, aber für maximalen Komfort lässt du es leer.
Jetzt musst du deinen öffentlichen SSH-Key auf den Raspberry Pi übertragen, damit du dich ohne Passwort anmelden kannst. Das kannst du mit folgendem Befehl tun:
ssh-copy-id raspiuser@deine-pi-hole-ip
Anschließend erstellen wir noch einen SSH-Config Eintrag, damit du dich in Zukunft einfach mit "ssh pihole" verbinden kannst. Öffne dazu die SSH-Config Datei mit folgendem Befehl:
nano ~/.ssh/config
Füge am Ende der Datei folgenden Eintrag hinzu:
Host pihole
HostName deine-pi-hole-ip
User raspiuser
IdentityFile ~/.ssh/id_ed25519
Backup-Script erstellen
Verbinde dich jetzt per SSH mit deinem Raspberry Pi:
ssh pihole
Zuerst legen wir einen Ordner für die Backups an, damit diese nicht im Home-Verzeichnis herumliegen:
mkdir -p ~/pihole-backups
Öffne nun einen Texteditor, um ein neues Backup-Script zu erstellen. Ich nutze hier den nano Editor:
nano ~/pihole-backup.sh
Füge folgenden Inhalt in die Datei ein:
#!/bin/bash
# Pfad zu deinem Backup-Ordner (bitte deinen Usernamen prüfen)
BACKUP_DIR="/home/raspiuser/pihole-backups"
mkdir -p "$BACKUP_DIR"
cd "$BACKUP_DIR" || exit
# Der neue Pi-hole v6 Befehl
sudo pihole-FTL --teleporter
# Falls die Datei als root erstellt wurde, dem User zurückgeben
sudo chown raspiuser:raspiuser "$BACKUP_DIR"/*.zip
# Alte Backups löschen, um Platz zu sparen
# Alle .zip-Dateien nach Datum sortiert auflisten, die neuesten 8 überspringen und den Rest löschen, um Platz zu sparen.
ls -t "$BACKUP_DIR"/*.zip 2>/dev/null | tail -n +9 | xargs -I {} rm {}
Speichere die Datei mit CTRL + O, bestätige mit Enter und verlasse den Editor mit CTRL + X.
Mache das Script ausführbar:
chmod +x ~/pihole-backup.sh
Jetzt kannst du das Script manuell ausführen und testen, um ein Backup zu erstellen:
sudo ~/pihole-backup.sh
Wenn das Script erfolgreich ausgeführt wurde, solltest du im Ordner ~/pihole-backups eine neue .zip Datei mit deinem Backup finden.
Automatisierung mit Cronjob
Um das Backup regelmäßig automatisch zu erstellen, können wir einen Cronjob einrichten. Öffne dazu die Cron-Tabelle mit folgendem Befehl:
crontab -e
Füge am Ende der Datei folgende Zeile hinzu, um das Backup-Script jeden Sonntag um 3 Uhr morgens auszuführen:
0 3 * * 0 /home/raspiuser/pihole-backup.sh > /dev/null 2>&1
Speichere die Datei und verlasse den Editor. Jetzt wird dein Pi-Hole automatisch jede Woche gesichert, ohne dass du dich darum kümmern musst.
Lokaler Download (optional)
In diesem Schritt legen wir noch eine lokale Funktion an, damit du die neuste Backup-Datei einfach auf deinen Mac herunterladen kannst. Trenne dazu die SSH-Verbindung zum Pi-Hole mit exit und öffne die Terminal-Konfiguration auf deinem Mac (bei mir ist das die Zsh-Konfiguration):
nano ~/.zshrc
Füge am Ende der Datei folgende Funktion hinzu:
get-pihole-backup() {
# 1. Holt den neuesten Dateinamen direkt über SSH vom Pi
NEUESTE_DATEI=$(ssh pihole "ls -t pihole-backups/*.zip 2>/dev/null | head -n 1")
if [ -z "$NEUESTE_DATEI" ]; then
echo "Keine Backup-Dateien auf dem Pi gefunden!"
return 1
fi
# 2. Lädt genau diese Datei herunter
echo "Lade neueste Datei herunter: $(basename "$NEUESTE_DATEI")"
scp "pihole:$NEUESTE_DATEI" ~/Desktop/
}
Hinweis: Dafür ist notwendig, dass du den SSH-Zugriff mit dem Alias "pihole" wie oben beschrieben eingerichtet hast.
Speichere die Datei mit CTRL + O, bestätige mit Enter und verlasse den Editor mit CTRL + X. Die Konfiguration wird automatisch beim nächsten Terminal-Start geladen, oder du kannst sie mit folgendem Befehl sofort anwenden:
source ~/.zshrc
Jetzt kannst du einfach get-pihole-backup in deinem Terminal eingeben, um das neuste Backup von deinem Pi-Hole auf deinen Mac auf den Schreibtisch (Desktop-Ordner) herunterzuladen. Statt "~/Desktop/" kannst du natürlich auch einen anderen Pfad angeben, wenn du die Datei woanders speichern möchtest.
Fazit
Mit diesem Setup hast du nun ein automatisiertes Backup für deinen Pi-Hole, das regelmäßig erstellt wird und einfach auf deinen Mac heruntergeladen werden kann. So bist du für den Fall der Fälle gut vorbereitet und kannst deine Pi-Hole Konfiguration schnell wiederherstellen, falls mal etwas schiefgeht.
Wichtig: Falls du deinen Pi komplett neu aufsetzt, installiere erst Pi-hole v6 und lade dann die .zip Datei über das Webinterface unter Settings > Teleporter hoch. Die IP-Adresse deines neuen Pi sollte die gleiche sein wie die des alten, damit deine Geräte ihn sofort wieder finden.