Ihre Datenbanken sichern und wiederherstellen
MobilityManager hält alle dauerhaften Daten in seinen Datenbanken: einer Systemdatenbank und einer oder mehreren Mandantendatenbanken. Der Schutz dieser Daten bedeutet, beide zu sichern, ebenso wie die Geheimnisse, die zum Lesen der Daten erforderlich sind. Dieser Artikel gibt praktische Hinweise zum Sichern und Wiederherstellen.
Was gesichert werden muss
- Systemdatenbank (
SystemConnection) — das Mandantenregister, Benutzer, Rollen und die Lizenz. - Mandantendatenbank(en) (
TenantConnectionund die einzelnen Mandantendatenbanken) — Fuhrpark-, Buchungs- und operative Daten. - Geheimnisse — der
Jwt__Keyund derDocumentStorage__LocalEncryptionKey. - Gespeicherte Dokumente — jedes lokale Dokumentspeicherverzeichnis, sofern Sie lokalen Speicher verwenden.
Warnung: Eine Datenbanksicherung allein genügt nicht. Wenn Sie den Dokumentverschlüsselungsschlüssel verlieren, können verschlüsselte Dokumente in einer wiederhergestellten Datenbank nicht entschlüsselt werden. Sichern Sie Schlüssel separat und zuverlässig.
PostgreSQL sichern
Verwenden Sie pg_dump für jede Datenbank. Für den Docker-Compose-Stack führen Sie es innerhalb des Datenbankcontainers aus:
docker exec mobilitymanager-postgres \
pg_dump -U mobilitymanager mobilitymanager_system > system-backup.sql
docker exec mobilitymanager-postgres \
pg_dump -U mobilitymanager mobilitymanager_tenant > tenant-backup.sql
SQL Server sichern
Verwenden Sie für SQL Server native BACKUP DATABASE-Anweisungen oder die verwalteten Sicherungen Ihrer Plattform. Verlassen Sie sich bei Azure SQL auf automatisierte Sicherungen und die Point-in-Time-Wiederherstellung und exportieren Sie eine .bacpac für portable Kopien.
Tipp: Halten Sie den Sicherungsanbieter konsistent mit Ihrem
DatabaseProvider. Sie können einen PostgreSQL-Dump nicht in SQL Server wiederherstellen oder umgekehrt, ohne eine Datenmigration durchzuführen.
Wiederherstellen
- Stellen Sie leere Zieldatenbanken bereit, die zu Ihrem Anbieter passen.
- Stellen Sie zuerst die Systemdatenbank wieder her, dann die Mandantendatenbank(en).
psql -U mobilitymanager -d mobilitymanager_system < system-backup.sql psql -U mobilitymanager -d mobilitymanager_tenant < tenant-backup.sql - Stellen Sie den
Jwt__Keyund den Dokumentverschlüsselungsschlüssel in ihrem Secret-Store wieder her. - Richten Sie
SystemConnectionundTenantConnectionauf die wiederhergestellten Datenbanken aus und starten Sie die Anwendung. - Beim Start wendet die Anwendung alle ausstehenden Migrationen an, sodass eine Sicherung aus einem älteren Schema automatisch auf den aktuellen Stand gebracht wird.
Die Wiederherstellung überprüfen
- Prüfen Sie, ob
/healthzden Status 200 zurückgibt. - Melden Sie sich an und bestätigen Sie, dass Mandanten, Benutzer und aktuelle Datensätze vorhanden sind.
- Öffnen Sie ein verschlüsseltes Dokument, um zu bestätigen, dass der Verschlüsselungsschlüssel korrekt wiederhergestellt wurde.
Hinweis: Testen Sie Wiederherstellungen regelmäßig gegen ein Nicht-Produktionsziel. Eine ungetestete Sicherung ist keine verlässliche Sicherung.
Verwandte Artikel
- Die Datenbank-Verbindungszeichenfolgen konfigurieren
- Den Schlüssel zur Dokumentverschlüsselung im Ruhezustand konfigurieren
- Migrationen und die Onboarding-Weiterleitung beim Start
- Checkliste zur Produktionshärtung