Backup-Strategien fürs Selbsthosten: Die 3-2-1-Regel

Datenverlust vermeiden: bewährte Backup-Konzepte, Tools und Automatisierung.

Am Ende dieser Anleitung haben Sie ein Backup-System eingerichtet, das Ihre wichtigen Daten automatisch sichert und nach der bewährten 3-2-1-Regel schützt. Sie kennen die Werkzeuge Borg, Restic und rsync, wissen, wann Sie welches benutzen, und haben getestet, dass Sie Ihre Daten im Notfall wirklich zurückholen können.

Das brauchen Sie vorab

  • Ein Linux-System (zum Beispiel ein Ubuntu- oder Debian-Server), denn die gezeigten Befehle sind für Linux gedacht. Ohne Linux funktionieren die Beispiele nicht direkt.
  • Zugang zu einem Terminal und Grundwissen, wie man Befehle eintippt und mit Enter bestätigt. Ein Terminal ist das schwarze Textfenster, in dem Sie mit dem Computer über Texteingaben sprechen.
  • Ein zweites Speicherziel wie ein NAS (ein Netzwerkspeicher, also eine Festplatte, die über Ihr Heimnetzwerk erreichbar ist) oder eine externe USB-Festplatte. Ohne ein zweites Ziel gibt es keinen echten Schutz.
  • Optional ein Cloud-Konto bei einem Anbieter wie Backblaze B2 oder Amazon S3 für die auswärtige Kopie. Das brauchen Sie erst im letzten Schritt.
  • Etwa eine Stunde ungestörte Zeit, weil Sie mehrere Schritte in Ruhe nachvollziehen und testen sollten.

Schritt für Schritt

  1. Verstehen Sie die 3-2-1-Regel

    Bevor Sie irgendein Werkzeug installieren, sollten Sie das Ziel kennen. Die 3-2-1-Regel ist die einfachste Faustformel, damit Ihre Daten wirklich sicher sind.

    Sie besagt: Halten Sie drei Kopien Ihrer Daten vor. Das Original zählt als erste Kopie, dazu kommen zwei zusätzliche Sicherungen. Speichern Sie diese auf zwei verschiedenen Arten von Medien, also zum Beispiel einmal auf einer Festplatte im NAS und einmal auf einer USB-Festplatte. Und bewahren Sie mindestens eine Kopie an einem anderen Ort auf, sogenannt 'offsite'. Das kann die Cloud sein oder eine Festplatte bei Freunden.

    Der Grund ist einfach: Wenn Ihr Computer kaputtgeht, hilft die NAS-Kopie. Wenn ein Blitz Computer und NAS gleichzeitig zerstört, hilft die Kopie außer Haus. Jede zusätzliche Ebene fängt einen anderen Katastrophenfall ab.

  2. Borg installieren

    Wir beginnen mit Borg. Borg ist ein Backup-Programm, das drei nützliche Dinge kann: Es erkennt doppelte Daten und speichert sie nur einmal (das nennt man Deduplication, das spart enorm Platz), es verschlüsselt Ihre Backups mit AES-256 (eine sehr starke Verschlüsselung, sodass niemand ohne Passwort Ihre Daten lesen kann), und es komprimiert die Daten, macht sie also kleiner.

    Auf einem Ubuntu- oder Debian-System aktualisieren Sie zuerst die Liste der verfügbaren Programme. Der Befehl sudo apt update holt diese aktuelle Liste. Das Wort sudo bedeutet, dass Sie den Befehl mit Administrator-Rechten ausführen, weil Systemänderungen erhöhte Rechte brauchen.

    Danach installieren Sie Borg selbst mit dem zweiten Befehl. Nach der Eingabe werden Sie eventuell nach Ihrem Passwort gefragt und um Bestätigung mit j oder y gebeten.

    sudo apt update
    sudo apt install borgbackup
  3. Das erste Borg-Repository anlegen

    Borg speichert alle Backups in einem sogenannten Repository. Ein Repository ist einfach ein Ordner, in dem Borg seine Daten in einem eigenen Format ablegt. Sie sollten diesen Ordner auf Ihrem NAS oder einer eingebundenen Festplatte anlegen, nicht auf derselben Festplatte wie Ihre Originaldaten.

    Mit dem folgenden Befehl erstellen Sie das Repository und schalten die Verschlüsselung ein. Die Option --encryption=repokey bedeutet, dass der Verschlüsselungsschlüssel im Repository selbst gespeichert wird und zusätzlich mit einem Passwort geschützt ist. Ersetzen Sie den Pfad /mnt/nas/backup durch den echten Speicherort Ihres NAS.

    Nach dem Ausführen fragt Borg Sie zweimal nach einem neuen Passwort. Merken Sie sich dieses Passwort sehr gut und schreiben Sie es an einem sicheren Ort auf. Ohne dieses Passwort kommen Sie später nie wieder an Ihre Backups. Danach sehen Sie eine Meldung, dass das Repository initialisiert wurde.

    borg init --encryption=repokey /mnt/nas/backup
  4. Ihr erstes Backup mit Borg erstellen

    Jetzt sichern Sie zum ersten Mal echte Daten. Mit borg create erstellen Sie einen sogenannten Archiv-Schnappschuss, also den Zustand Ihrer Daten zu genau diesem Zeitpunkt.

    Im Befehl unten steht ::sicherung-{now} für den Namen des Archivs. Das {now} setzt Borg automatisch durch das aktuelle Datum und die Uhrzeit ein, damit jedes Backup einen eindeutigen Namen bekommt. Danach folgt der Ordner, den Sie sichern wollen, hier /home/ihrname/daten. Die Option --stats sorgt dafür, dass Borg am Ende eine Zusammenfassung anzeigt.

    Nach dem Durchlauf sehen Sie eine Statistik mit der Größe der Originaldaten und der tatsächlich benötigten Größe im Repository. Meist ist die benötigte Größe deutlich kleiner, weil Borg dedupliziert und komprimiert. Das ist Ihr erster Beweis, dass es funktioniert.

    borg create --stats /mnt/nas/backup::sicherung-{now} /home/ihrname/daten
  5. Backups auflisten und die Wiederherstellung testen

    Ein Backup ist nur so viel wert wie seine Wiederherstellung. Deshalb testen Sie jetzt, ob Sie an Ihre Daten kommen. Zuerst lassen Sie sich mit borg list alle vorhandenen Archive im Repository anzeigen. Sie sollten Ihr eben erstelltes Archiv mit Datum und Uhrzeit sehen.

    Zum Zurückholen benutzen Sie borg extract. Wichtig: Wechseln Sie vorher mit cd in einen leeren Testordner, denn Borg entpackt die Dateien in das aktuelle Verzeichnis. So überschreiben Sie nicht versehentlich Ihre echten Daten.

    Ersetzen Sie im Extract-Befehl den Archivnamen durch den, den Ihnen borg list angezeigt hat. Nach dem Durchlauf finden Sie im Testordner Ihre gesicherten Dateien wieder. Öffnen Sie eine davon und prüfen Sie, ob der Inhalt stimmt. Erst wenn das klappt, wissen Sie, dass Ihr Backup wirklich brauchbar ist.

    borg list /mnt/nas/backup
    
    mkdir ~/backup-test
    cd ~/backup-test
    borg extract /mnt/nas/backup::sicherung-2024-01-15T02:00:00
  6. Alte Backups automatisch aufräumen mit prune

    Wenn Sie täglich sichern, füllt sich Ihr Speicher schnell. Mit borg prune löschen Sie alte Backups nach klaren Regeln, ohne dass Sie manuell aufräumen müssen.

    Die Optionen im Befehl legen fest, was erhalten bleibt: --keep-daily=7 behält die letzten sieben täglichen Sicherungen, --keep-weekly=4 die letzten vier wöchentlichen und --keep-monthly=6 die letzten sechs monatlichen. So haben Sie stets eine sinnvolle Historie, ohne alles aufzuheben.

    Nach dem Löschen mit prune sollten Sie noch borg compact ausführen. Dieser Befehl gibt den freigewordenen Speicherplatz tatsächlich wieder frei, denn prune markiert die Daten nur zum Löschen. Erst compact räumt physisch auf.

    borg prune --keep-daily=7 --keep-weekly=4 --keep-monthly=6 /mnt/nas/backup
    borg compact /mnt/nas/backup
  7. Das Backup mit Cron automatisieren

    Von Hand denkt niemand jeden Tag ans Backup. Deshalb übernimmt das Cron. Cron ist ein eingebauter Zeitplaner unter Linux, der Befehle automatisch zu festgelegten Zeiten ausführt.

    Sie öffnen die persönliche Cron-Tabelle mit crontab -e. Beim ersten Mal fragt Cron, welchen Texteditor Sie benutzen möchten; wählen Sie nano, das ist der einfachste. Es öffnet sich eine Textdatei, in die Sie eine Zeile pro geplantem Befehl schreiben.

    Die erste Zeile im Beispiel führt jeden Tag um 2 Uhr nachts das Backup aus. Die fünf Zeichen am Anfang bedeuten Minute, Stunde, Tag, Monat, Wochentag; 0 2 * * * heißt also 'Minute 0, Stunde 2, an jedem Tag'. Die zweite Zeile räumt jeden Sonntag um 3 Uhr auf. Damit Cron Ihr Borg-Passwort kennt, setzen wir es über die Umgebungsvariable BORG_PASSPHRASE. Speichern Sie in nano mit Strg+O, Enter und schließen Sie mit Strg+X.

    # crontab -e öffnen, dann diese Zeilen einfügen:
    BORG_PASSPHRASE='ihr-borg-passwort'
    0 2 * * * borg create /mnt/nas/backup::sicherung-{now} /home/ihrname/daten
    0 3 * * 0 borg prune --keep-daily=7 --keep-weekly=4 --keep-monthly=6 /mnt/nas/backup && borg compact /mnt/nas/backup
  8. Eine zweite Medien-Kopie mit rsync anlegen

    Bisher haben Sie eine Kopie auf dem NAS. Für die 3-2-1-Regel brauchen Sie ein zweites Medium. Dafür eignet sich rsync in Kombination mit einer externen USB-Festplatte. rsync ist ein Werkzeug, das Ordner schnell abgleicht und nur die geänderten Teile kopiert.

    Beachten Sie den Unterschied: rsync bietet keine Verschlüsselung, keine Deduplication und keine Versionierung. Es macht einfach eine identische Kopie. Deshalb benutzen wir es hier ergänzend, um das ganze Borg-Repository zusätzlich auf USB zu spiegeln.

    Im Befehl steht -av für 'archive' (behält Rechte und Zeiten) und 'verbose' (zeigt an, was passiert). Die Option --delete sorgt dafür, dass am Ziel gelöscht wird, was in der Quelle nicht mehr existiert, sodass beide Seiten wirklich gleich sind. Achten Sie auf den Schrägstrich am Ende der Quelle, er ist wichtig. Nach dem Durchlauf sehen Sie eine Liste der übertragenen Dateien.

    rsync -av --delete /mnt/nas/backup/ /mnt/usb/backup-kopie/
  9. Eine auswärtige Kopie mit Restic in die Cloud legen

    Für den dritten Teil der Regel, die Kopie außer Haus, nutzen wir Restic. Restic ist etwas einfacher zu bedienen als Borg und kann direkt in Cloud-Speicher wie Backblaze B2 oder Amazon S3 sichern. Es läuft außerdem auf Windows, macOS und Linux gleichermaßen.

    Installieren Sie Restic zuerst mit sudo apt install restic. Danach legen Sie ein Repository in der Cloud an. Die Zugangsdaten Ihres Cloud-Anbieters geben Sie über Umgebungsvariablen an; im Beispiel für Backblaze B2 sind das die Schlüssel-ID und der Anwendungsschlüssel, die Sie in Ihrem B2-Konto finden.

    Mit restic init erstellen Sie das Cloud-Repository, restic backup sichert Ihren Ordner, und restic snapshots zeigt alle Sicherungen an. Zum Testen der Wiederherstellung nutzen Sie restic restore mit --target, das die Daten in einen Zielordner entpackt. Führen Sie am Ende regelmäßig restic check aus; dieser Befehl prüft, ob das Repository unbeschädigt ist.

    sudo apt install restic
    
    export B2_ACCOUNT_ID='ihre-id'
    export B2_ACCOUNT_KEY='ihr-key'
    export RESTIC_PASSWORD='ihr-restic-passwort'
    
    restic -r b2:mein-bucket:pfad init
    restic -r b2:mein-bucket:pfad backup /home/ihrname/daten
    restic -r b2:mein-bucket:pfad snapshots
    restic -r b2:mein-bucket:pfad restore latest --target ~/restic-test
    restic -r b2:mein-bucket:pfad check

Häufige Probleme und Lösungen

Cron führt das Backup nicht aus, obwohl der Eintrag richtig aussieht.

Cron kennt Ihre normalen Umgebungsvariablen und Ihr Passwort nicht automatisch. Setzen Sie BORG_PASSPHRASE direkt in der crontab, wie im Schritt gezeigt, und schreiben Sie im Cron-Befehl immer den vollständigen Pfad zum Programm, zum Beispiel /usr/bin/borg statt nur borg. Prüfen Sie außerdem mit grep CRON /var/log/syslog, ob Cron den Job überhaupt gestartet hat.

Borg meldet 'passphrase supplied in BORG_PASSPHRASE is incorrect' oder fragt gar nicht nach dem Passwort.

Das Passwort in der Umgebungsvariable stimmt nicht mit dem überein, das Sie bei borg init gesetzt haben. Kontrollieren Sie auf Tippfehler und Anführungszeichen. Testen Sie das Passwort zuerst manuell im Terminal mit borg list /mnt/nas/backup, bevor Sie es in Cron eintragen.

rsync kopiert plötzlich viel zu viel oder löscht Dateien am Ziel, die Sie behalten wollten.

Das liegt fast immer an einem falschen Schrägstrich oder an der Option --delete. Prüfen Sie, ob am Quellpfad der Schrägstrich steht (quelle/) und am Ziel auch. Testen Sie neue rsync-Befehle immer erst mit der Option --dry-run, die nur anzeigt, was passieren würde, ohne etwas zu verändern.

Fazit

Sie haben jetzt ein vollständiges Backup-System nach der 3-2-1-Regel: tägliche verschlüsselte Sicherungen mit Borg auf dem NAS, eine zweite Kopie per rsync auf USB und eine auswärtige Kopie mit Restic in der Cloud. Das Wichtigste ist, dass Sie die Wiederherstellung ausprobiert haben und wissen, dass Ihre Daten wirklich zurückholbar sind. Wiederholen Sie diesen Test alle paar Monate, denn nur ein getestetes Backup ist ein echtes Backup.

💡 Hetzner Cloud Affiliate-Link

Für Self-Hosting-Setups empfehlen wir einen VPS mit mindestens 2 GB RAM. Hetzner Cloud ist unser Standard-Partner für zuverlässige, günstige Server aus deutschen Rechenzentren.

Hetzner Cloud ab 3,29 € → Mit einem Kauf über diesen Link unterstützen Sie unsere Arbeit – ohne Mehrkosten für Sie.

Häufige Fragen

Brauche ich wirklich Borg, Restic und rsync gleichzeitig?

Nein, notwendig sind sie nicht alle. Für Einsteiger reicht ein einziges gutes Werkzeug wie Borg oder Restic völlig aus, um sinnvoll zu sichern. Die Kombination aus allen dreien ist eine saubere Umsetzung der vollen 3-2-1-Regel, bei der jedes Werkzeug seine Stärke ausspielt: Borg lokal wegen Deduplication und Geschwindigkeit, Restic für die Cloud wegen der einfachen Cloud-Anbindung und rsync für eine schnelle Spiegelung auf USB. Fangen Sie ruhig mit einem an und bauen Sie später aus.

Was passiert, wenn ich mein Backup-Passwort vergesse?

Dann sind Ihre verschlüsselten Backups unwiederbringlich verloren, denn ohne Passwort kann niemand die AES-256-Verschlüsselung öffnen, auch Sie selbst nicht. Genau das ist die Kehrseite der Sicherheit. Bewahren Sie das Passwort deshalb an mindestens zwei Orten auf, zum Beispiel in einem Passwort-Manager und zusätzlich ausgedruckt an einem sicheren physischen Ort. Behandeln Sie es genauso wichtig wie die Daten selbst.

Wie oft sollte ich sichern und wie viele Backups aufbewahren?

Für die meisten Selbsthoster ist ein tägliches Backup nachts sinnvoll, wen