Server-Backup-Strategie: So richten Sie 3-2-1-Backups mit Restic ein (Linux-Anleitung)

Die meisten Backup-Setups scheitern an dem Tag, an dem Sie sie benötigen. Dieser Leitfaden zeigt eine einfache, zuverlässige 3-2-1-Backup-Strategie für Linux-Server mit restic, Datenbank-Dumps, Aufbewahrung und Wiederherstellungstests.

Fragen Sie ein Unternehmen, ob es Backups hat, und die Antwort ist fast immer „ja“. Fragen Sie, wann sie zuletzt eine Wiederherstellung getestet haben, und es wird still. Hardwarefehler, Ransomware, gehackte Plugins, ein falsches rm -rf oder ein fehlgeschlagendes Update können jedem Server passieren. Backups sind nur wertvoll, wenn Sie sie wiederherstellen können.

Dieser Leitfaden zeigt eine einfache, zuverlässige Backup-Konfiguration für Linux-Server (Webshops, WordPress, Magento, n8n und andere Anwendungen) unter Verwendung der 3-2-1 Regel und restic.

Die 3-2-1 Backup-Regel

  • 3 Kopien Ihrer Daten (das Original plus zwei Sicherungen)
  • Über 2 verschiedene Arten von Speicher
  • Mit 1 Kopie außerhalb des Standorts

Viele Menschen fügen eine moderne Erweiterung hinzu: 3-2-1-1-0:

  • 1 Kopie, die offline oder unveränderlich ist (kann von einem Angreifer nicht geändert oder gelöscht werden)
  • 0 Fehler in Wiederherstellungstests

Was man sichern sollte

Für einen typischen Webserver:

  • Datenbanken (MySQL/MariaDB, PostgreSQL), als konsistente Dumps
  • Anwendungsdateien: Uploads, Medien, wp-content, pub/media, Konfigurationsdateien
  • Konfiguration: Webserver-Konfiguration, .env-Dateien, Cron-Jobs, SSL-Einrichtung
  • Geheimnisse: Verschlüsselungsschlüssel und Anmeldeinformationen, separat in einem Passwort-Manager gespeichert

Sichern Sie nicht, was Sie neu erstellen können: Caches, generated/ Code, node_modules, vendor/ (wenn Sie von Git und Composer bereitstellen).

Warum restic?

Restic ist ein kostenloses, Open-Source-Backup-Tool, das ist:

  • Standardmäßig verschlüsselt
  • Dedupliziert: Nur geänderte Daten werden gespeichert, sodass tägliche Backups klein sind.
  • In der Lage, auf viele Ziele zu sichern: lokale Festplatte, SFTP, S3-kompatible Objektspeicherung, Backblaze B2 und mehr
  • Einfach von der Kommandozeile aus zu verwenden

Borg (mit borgmatic) ist eine gute Alternative mit ähnlichen Funktionen.

Schritt 1: Installieren Sie restic

Auf Debian/Ubuntu:

sudo apt install restic

Schritt 2: Erstellen Sie ein Repository

Beispiel mit S3-kompatiblem Objektspeicher:

export AWS_ACCESS_KEY_ID=your-key
export AWS_SECRET_ACCESS_KEY=your-secret
export RESTIC_REPOSITORY=s3:https://s3.example-provider.com/my-backups
export RESTIC_PASSWORD_FILE=/root/.restic-password

restic init

Speichern Sie das Restic-Passwort ebenfalls in einem Passwort-Manager. Ohne es können Ihre Backups nicht entschlüsselt werden.

Schritt 3: Datenbanken dumpen

MySQL / MariaDB (konsistenter Dump für InnoDB ohne das Sperren des Shops):

mysqldump --single-transaction --quick --routines --triggers shop_db | gzip > /var/backups/db/shop_db.sql.gz

PostgreSQL:

pg_dump -U app app_db | gzip > /var/backups/db/app_db.sql.gz

Schritt 4: Führen Sie das Backup aus

restic backup /var/backups/db /var/www/shop/pub/media /etc/nginx /home/deploy/.env \
  --exclude /var/www/shop/var/cache

Schritt 5: Aufbewahrung festlegen

Behalten Sie eine sinnvolle Historie bei und entfernen Sie alte Snapshots:

restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune

Dies hält ein Backup pro Tag für eine Woche, pro Woche für einen Monat und pro Monat für ein halbes Jahr.

Schritt 6: Überprüfen Sie die Integrität des Repositories

restic check

Führen Sie es regelmäßig aus, zum Beispiel wöchentlich.

Schritt 7: Automatisieren mit einem Skript und Cron

Erstellen Sie /usr/local/bin/backup.sh:

#!/bin/bash
set -euo pipefail
source /root/.restic-env

mysqldump --single-transaction --quick shop_db | gzip > /var/backups/db/shop_db.sql.gz
restic backup /var/backups/db /var/www/shop/pub/media /etc/nginx
restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune

Planen Sie es nachts ein:

30 2 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1

Überwachung hinzufügen. Ein Backup, das drei Monate lang stillschweigend fehlschlägt, ist eine häufige Katastrophe. Verwenden Sie einen „Toten-Schalter“-Überwachungsdienst oder einen kleinen Workflow, der Sie benachrichtigt, wenn das Backup keinen Erfolg gemeldet hat.

Schritt 8: Testwiederherstellungen

Snapshots auflisten:

restic snapshots

Wiederherstellen an einen Teststandort:

restic restore latest --target /tmp/restore-test

Mindestens alle paar Monate sollten Sie auf einen separaten Testserver wiederherstellen und überprüfen, ob die Anwendung tatsächlich läuft. Das ist der einzige echte Beweis, dass Ihre Backups funktionieren.

Schutz gegen Ransomware

Wenn ein Angreifer Root-Zugriff auf Ihren Server erhält, kann er auch Backups löschen, auf die der Server schreiben kann. Schützen Sie sich mit:

  • Nur-Anhänge oder unveränderliche Speicherung (Objektsperre / Versionierung auf S3-kompatibler Speicherung)
  • Sichern Sie Backups von einem separaten Backup-Server, damit der Webserver keine Löschrechte hat.
  • Getrennte Anmeldeinformationen, die wo möglich nicht auf dem Produktionsserver gespeichert sind

Snapshots vs Backups

VPS- und Cloud-Snapshots sind nützlich für schnelle Rollbacks vor Updates, aber sie werden oft beim gleichen Anbieter und manchmal am gleichen Standort gespeichert. Verwenden Sie sie zusätzlich zu Offsite-Backups, nicht anstelle von ihnen.

Backup-Checkliste

Artikel Fertig?
Datenbanken konsistent exportiert
Medien- und Konfigurationsdateien enthalten
Offsite verschlüsselte Kopie
Unveränderliche oder Offline-Kopie
Aufbewahrungsrichtlinie festgelegt
Überwachung und Warnungen
Wiederherstellung, die in den letzten 3 Monaten getestet wurde
Passwörter und Schlüssel im Passwort-Manager

Häufig gestellte Fragen

Wie oft sollte ich meinen Webshop sichern?

Mindestens täglich für die meisten Geschäfte. Beschäftigte Geschäfte mit vielen Bestellungen pro Stunde sichern die Datenbank oft häufiger oder verwenden Replikation plus Wiederherstellung zu einem bestimmten Zeitpunkt.

Ist das Backup meines Hosting-Anbieters ausreichend?

Es ist eine nützliche zusätzliche Schicht, aber normalerweise können Sie die Aufbewahrung, den Standort oder die Wiederherstellungsgeschwindigkeit nicht steuern. Behalten Sie auch Ihr eigenes Offsite-Backup.

Restic oder Borg?

Beide sind ausgezeichnet. Restic unterstützt viele Cloud-Speicher-Backends direkt; Borg ist sehr effizient und wird häufig mit SSH-basiertem Speicher verwendet. Wählen Sie denjenigen, der zu Ihrem Speicherziel passt.

Möchten Sie Backups, auf die Sie vertrauen können?

Ich richte Server, Backups und Wiederherstellungsverfahren für Webshops und Geschäftsanwendungen ein und pflege sie. Siehe meinen Server-, Virtualisierungs- und Backup-Service oder fordere Hilfe an.