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.