Contents — find the section you need
Change parameters and verify
Open the panel, then press Run to load Python. You can stop execution and reset parameters. Results are computed on this device. No Python installation is required.
Local execution steps below are optional for reproducing the source results; they are not required for the browser experiment.
The experiment controls are in English.
Ein erfolgreicher Backup-Exit-Code beweist nicht, dass ein Dienst mit den gespeicherten Daten neu gestartet werden kann. Trennen Sie die Wiederherstellung von Dateien, die Lesbarkeit der Datenbank und die benötigten Anwendungsoperationen. Beginnen Sie mit einer Übung, die niemals auf Produktionsdaten zugreift.
Definition einer erfolgreichen Wiederherstellung
Ein Fotodienst benötigt Beziehungen zwischen Bildern und Datenbankeinträgen. Die Authentifizierung kann auch von Konfigurations- und Verschlüsselungsschlüsseln abhängen. Definieren Sie das akzeptable Datenverlustfenster (RPO) getrennt von der akzeptablen Wiederherstellungsdauer (RTO). Backup-Frequenz und Wiederherstellungszeit sind unterschiedliche Messgrößen.
Isolierte Übung durchführen
Speichern Sie restore_lab.py und führen Sie python3 restore_lab.py aus. Es verwendet die Python-Standardbibliothek 3.12.3. Bei jedem Durchlauf werden ein neues temporäres Verzeichnis, eine Textdatei und ein SQLite-Eintrag erstellt. Es werden weder bestehende Dienste noch Datensätze gestoppt oder gelöscht.
Das Skript verwendet die Backup-API von SQLite, um die Datenbank zu kopieren, sie zusammen mit der Textdatei in ein ZIP-Archiv zu packen und in einem anderen leeren Verzeichnis wiederherzustellen. Es prüft SHA-256-Hashes, PRAGMA integrity_check und einen bekannten SQL-Eintrag. Siehe die offizielle Erklärung der Backup-API von SQLite.
file_hashes: pass
sqlite_integrity: pass
application_read: pass
scope: synthetic fixture only
Alle drei Prüfungen waren am 7. September 2026 erfolgreich. Hierbei bezieht sich „Anwendung lesen“ auf die bekannte SQL-Abfrage, nicht auf das Starten von Immich oder Nextcloud. Das ausgegebene directory enthält die gespeicherten Daten. Das ZIP-Archiv in diesem temporären Verzeichnis dient als Übungsobjekt und bietet keinen Schutz vor Datenverlust.
Konsistente Erfassung realer Dienste
Das herkömmliche Kopieren von Live-Datenbankdateien gewährleistet möglicherweise nicht die für die Wiederherstellung erforderliche Konsistenz. Prüfen Sie für PostgreSQL die Anforderungen von Methoden wie SQL-Dumps. Die Konsistenz zwischen dem Datenbank-Snapshot und referenzierten externen Dateien ist ein separates Thema.
| Komponente | Beibehalten | Wiederherstellungsprüfung |
--- | --- | --- |
Konfiguration | Compose, Einstellungen und Image-Versionen | Gewünschte Konfiguration wiederherstellen |
Datenbank | Konsistenter Dump oder unterstütztes Backup | Lade- und Integritätsprüfungen erfolgreich |
Uploads | Datei- und Metadatenbeziehungen | Bekannte Dateien öffnen |
Geheimnisse | Schlüssel und Authentifizierungsmaterial | Autorisierte Administratoren können wiederherstellen |
Übereinstimmende Hashwerte bestätigen die Übereinstimmung mit der erfassten Kopie. Sie beweisen nicht, dass die gesamte Anwendung zum Zeitpunkt der Erfassung konsistent war.
Zusätzliche Prüfungen mit restic
Das folgende Verfahren gilt für eine Umgebung, in der restic bereits installiert ist; restic wurde in dieser Übung nicht ausgeführt. Konfigurieren Sie das Repository und die Anmeldeinformationen separat und notieren Sie restic version. Wählen Sie einen Snapshot aus und stellen Sie ihn in einem leeren Ziel wieder her.
restic snapshots
restic check --read-data
restic restore SNAPSHOT_ID --target /path/to/empty-restore
Ersetzen Sie die ID und den Pfad durch Ihre Umgebung. Die Wiederherstellung (https://restic.readthedocs.io/en/stable/050_restore.html) und die Repository-Prüfung (https://restic.readthedocs.io/en/stable/045_working_with_repos.html) beantworten unterschiedliche Fragen. Berücksichtigen Sie Laufzeit- und Übertragungskosten beim Lesen gespeicherter Daten mit --read-data.
Wiederherstellungsprotokoll erstellen
Protokollieren Sie Erfassungszeitpunkt, Start und Ende der Wiederherstellung, Datenvolumen, Versionen, Ergebnisse der Dateiprüfung und Anwendungsvorgänge. Testen Sie die Wiederherstellung in einer isolierten Umgebung, bevor Sie Produktionsdaten ersetzen. Deaktivieren Sie dabei ausgehende E-Mails und Webhooks. Authentifizierungs- und Dateileseprüfungen machen diese einfache Aufgabe zu einem dienstspezifischen Verfahren für die Home-Server-Plattform (/en/project/home-server.html).
Kommentare
Bitte zuerst anmelden.
Noch keine Einträge.