Backup und Wiederherstellung
Einleitung und Konzeptübersicht
In der charly-Server-Umgebung stehen Ihnen zwei unterschiedliche Sicherungsmethoden zur Verfügung:
1. Backup (vollständige Sicherung):
- Umfasst die Datenbank (mit 7-Tage-Rotation) und die komplette Ablage (als komprimiertes charly.7z-Archiv)
- Wird auf einem externen SMB-Share gespeichert
- Ermöglicht eine schnelle und vollständige Wiederherstellung nach einem Serverausfall
- Wird über
charly-server vm backupaufgerufen und übercharly-server vm backup-configkonfiguriert.
2. Export (Datenbank-Sicherung):
- Primär für die Sicherung der Datenbank konzipiert
- Ermöglicht Integration in professionelle Backup-Lösungen über SMB-Shares:
- Ablage via CHARLY SMB-Share (nativ) bzw. charly-ablage (in VM)
- Datenbank via CHARLY-Backup (in VM) oder benutzerdefinierten Share (nativ)
- Sicherung erfolgt ohne externen SMB-Share.
Entsprechungen zwischen VM und nativer Installation
In der VM-Version werden die Backup-Funktionen über charly-server vm backup bereitgestellt, während in der nativen Installation sowohl das Backup-Konzept als auch der reine Datenbank-Export über das export-Kommando gesteuert werden:
| VM-Kommando | Native Entsprechung | Beschreibung |
|---|---|---|
charly-server vm backup |
charly-server export oder export normal auf SMB Share |
Vollständige Sicherung (Datenbank und Ablage) |
charly-server vm backup-list |
charly-server export backup-list |
Anzeige der verfügbaren Backups |
charly-server vm restore |
charly-server export restore |
Wiederherstellung des neuesten Backups |
charly-server vm backup-config |
Windows Task Scheduler | Automatisches Backup konfigurieren (nativ empfehlen wir die manuelle Task Scheduler Konfiguration) |
| Kein direktes Äquivalent | charly-server export databaseonly |
Nur Datenbank-Sicherung |
| Kein direktes Äquivalent | charly-server export databaseiso |
Datenbank-Export als ISO (für Test/Migration) |
Hinweis zur Terminologie
Aus historischen Gründen verwenden die Kommandos nicht immer konsistente Begriffe. Diese Dokumentation beschreibt das vollständige Backup-System für die VM-Installation. Für den reinen Datenbank-Export in der nativen Installation, siehe die Dokumentation zu Export und Wiederherstellung.
Diese Dokumentation konzentriert sich auf das vollständige Backup-System für die VM-Installation, das sowohl Datenbanken als auch Dateisystem umfasst. Diese Backups werden in einem externen SMB-Share gespeichert und ermöglichen eine vollständige Wiederherstellung der VM bei Bedarf.
Backup-Mechanismus
Das Backup der VM wird in ein SMB Share abgelegt. Dieses muss im Netzwerk verfügbar sein.
Es gibt zwei Backup-Varianten, die beim backup-config ausgewählt werden:
| Variante | Beschreibung | Status |
|---|---|---|
| Inkrementell Backup (advanced) | Ein modernes Backup-Verfahren, das auf der Backup-Software Restic basiert und die letzten 31 Backups platzsparend sichert. | Empfohlen (Best Practice) |
| Einfaches Backup (simple) | Sichert die Datenbank eines Backups als .sql Dateien, die Dateien als charly.7z und die Konfiguration. | Veraltet |
Empfehlung: Inkrementelles Restic-Backup
Wir empfehlen dringend die Verwendung des inkrementellen Restic-Backups (advanced). Im Vergleich zum einfachen Backup bietet es:
- Speichereffizienz: Nur geänderte Datenblöcke werden gespeichert
- Längere Aufbewahrung: 31 Tage statt 8 Backups
- Schnellere Backups: Nach dem ersten Vollbackup deutlich kürzer
- Bessere Wiederherstellung: Punktgenaue Wiederherstellung möglich
Beim einfachen Backup werden nur die neuesten acht Datenbank-Backups gespeichert. Ältere Backups werden automatisch gelöscht. Die Daten der Ablage werden in ein charly.7z komprimiert, welches stetig aktualisiert wird.
Zusätzlich wird optional eine ISO Datei mit den aktuellsten Backup-Daten erzeugt. Mit dieser ISO Datei kann jederzeit die VM neu installiert werden auf einem anderen System.
Ohne diese ISO Datei ist ein Wiederherstellen über den Restore-Mechanismus charly-server vm restore möglich.
Backup vs. Export konfigurieren
Backup konfigurieren (vollständige Sicherung)
Ein Backup umfasst sowohl die Datenbank als auch die Ablage und wird auf einem externen SMB Share gespeichert. Dies ist die empfohlene Methode für eine vollständige Datensicherung.
Geben Sie einen Ordner auf einem Laufwerk mit ausreichend Speicherplatz frei und testen Sie dafür unter Windows, ob sich das SMB Share verbinden lässt. Dieser Ordner kann auch ein NAS sein.
Führen Sie dann folgendes Kommando aus:
charly-server vm backup-config
Sie werden nach folgenden Informationen gefragt:
- IP oder Hostname des SMB Servers
- Name des SMB Shares, ggf. gefolgt vom Pfad innerhalb des Shares (z.B.
<ShareName>/<Pfad>) - Benutzername und Passwort für den SMB-Zugriff (falls erforderlich)
- SMB-Version (optional, z.B. 2.0 für ältere NAS-Systeme)
- Backup-Variante (inkrementell/advanced oder einfach/simple)
- Stunde (0-23) und Minute (0-59) für das tägliche Backup
- Ob bei täglichen Backups zusätzlich ISO-Dateien erstellt werden sollen
Nach Eingabe der Information wird automatisch geprüft, ob die VM das SMB Share verbinden kann und ob der angegebenen Benutzer darauf Schreibrechte besitzt. Ansonsten bricht das Kommando mit einer Fehlermeldung ab.
backup-config kann jederzeit wieder ausgeführt werden, um die Konfiguration zu ändern. Die bisherigen Einstellungen werden als Vorschläge angezeigt (außer das Passwort).
WICHTIG
Wenn bei einer Installation noch das charly-backup.vhdx konfiguriert wurde, kann mit backup-config auf das neue Backup-System umgestellt werden. Dann wird backup-config zusätzliche Hinweise anzeigen. Zum Schluss können Sie das charly-backup.vhdx löschen
SMB-Versionsunterstützung
Das charly-Server-System unterstützt die explizite Konfiguration von SMB-Protokollversionen für die Kompatibilität mit verschiedenen Netzwerkspeichern:
Unterstützte SMB-Versionen:
- SMB 2.0 - Für ältere NAS-Systeme, Server und restriktive Konfigurationen
- SMB 2.1 - Erweiterte Funktionen gegenüber 2.0
- SMB 3.0 - Moderne Systeme mit verbesserter Sicherheit
- SMB 3.02 - Erweiterte Verschlüsselung
- SMB 3.0.2 - Alternative Notation für 3.02
- SMB 3.1.1 - Neueste Sicherheitsfeatures
- SMB 3.11 - Alternative Notation für 3.1.1
Wann eine SMB-Version angeben:
- Bei Verbindungsproblemen mit älteren NAS-Systemen
- Wenn der automatische Verhandlungsprozess fehlschlägt
- Bei Server-Konfigurationen, die keine Auto-Verhandlung unterstützen
- Zur Optimierung der Verbindungsgeschwindigkeit
- Bei Sicherheitsanforderungen für spezifische Protokollversionen
- Bei restriktiven Server-Sicherheitsrichtlinien
Empfohlene Vorgehensweise:
- Zuerst ohne SMB-Version versuchen (automatische Verhandlung)
- Bei Problemen mit älteren Systemen oder Server-Konfigurationen SMB 2.0 oder 2.1 verwenden
- Für moderne Systeme SMB 3.0 oder höher bevorzugen
- Bei anhaltenden Verbindungsproblemen verschiedene Versionen systematisch testen
Backup-Konfiguration testen
Nach der Konfiguration oder bei Problemen mit dem Backup können Sie die Backup-Konfiguration testen:
charly-server vm backup-test-config
Dieser Befehl prüft:
- Die Verbindung zum konfigurierten SMB-Share
- Die Schreib- und Leserechte auf dem Share
- Bei lokalen Backups (ohne SMB-Share) wird die lokale Konfiguration geprüft
Die Testergebnisse zeigen detailliert, wo eventuelle Probleme auftreten, und geben Hinweise zur Behebung.
Backup verwalten
Manuelles Backup erstellen
Ein manuelles Backup kann nach der Konfiguration jederzeit erstellt werden:
charly-server vm backup
Um beim Backup auch zusätzlich eine ISO Datei zu erzeugen:
charly-server vm backup-iso
Dies sind auch genau die Kommandos, die vom täglichen Backup verwendet werden, je nachdem, ob ein ISO erzeugt werden soll oder nicht.
Hinweis
Das Erzeugen einer ISO-Datei kann deutlich länger dauern als ein reguläres Backup.
Verfügbare Backups anzeigen
Um eine Liste aller verfügbaren Backups mit ihren Zeitstempeln anzuzeigen:
charly-server vm backup-list
Diese Zeitstempel können für die gezielte Wiederherstellung eines spezifischen Backups verwendet werden.
Es können auch mehr oder weniger Backups angezeigt werden:
charly-server vm backup-list -count 20
Es können auch die Größen der Backups angezeigt werden. Dies sollte man aber nur mit wenigen Backups machen, da es sonst länger dauert:
charly-server vm backup-list -count 3 -show_sizes
Wiederherstellung aus Backups
WICHTIG
- Alle charly-Clients sollten beendet werden, bevor das Backup wiederhergestellt wird.
- Alle Änderungen in der Datenbank und in der Ablage, die seit dem Backup erzeugt wurden, gehen durch die Wiederherstellung verloren.
Neuestes Backup wiederherstellen
Das neueste Backup kann wiederhergestellt werden mit:
charly-server vm restore
Das Kommando wird die Ablage und das Datenbank-Backup einspielen und danach die Docker-Container wieder starten.
Nur die Datenbank wiederherstellen
Es kann auch ausschließlich die Datenbank wiederhergestellt werden:
charly-server vm restore-database
Nur die Dateien wiederherstellen
Um nur die Ablage (Dateien) aus dem letzten Backup wiederherzustellen:
charly-server vm restore-files
Diese Option bietet sich an, wenn nur Dateien beschädigt oder gelöscht wurden, die Datenbank aber intakt ist.
Wiederherstellung einer beschädigten VM
Wenn z.B. nach einem Stromausfall die VM in einem korrupten Zustand ist, ist meistens nur das System-Image betroffen. Folgen Sie dieser Anleitung, um Ihre VM wiederherzustellen:
Vorhandene VM sichern und umbenennen
- Öffnen Sie den Hyper-V-Manager
- Stellen Sie sicher, dass die beschädigte VM vollständig heruntergefahren ist
charly-server vm stop - Benennen Sie die VM um, damit sie nicht überschrieben wird
Rename-VM -Name "charly-vm" -NewName "charly-vm-alt"
Dies ermöglicht eine Wiederherstellung der vorherigen VM, falls etwas schiefgeht.
Neue VM installieren
- Führen Sie folgenden Befehl aus, um eine neue VM zu installieren:
charly-server install - Bei der Installation können Sie die bisherigen Konfigurationseinstellungen wiederverwenden:
- Verwenden Sie den gleichen externen Switch
- Geben Sie die gleiche Anzahl an CPU-Kernen und RAM an
- Verwenden Sie die gleiche MAC-Adresse wie bei der bisherigen VM, damit Ihr DHCP-Server die gleiche IP-Adresse zuweist
- Verwenden Sie die gleichen Passwörter (PostgreSQL, Administrator, Samba)
WICHTIG
Bei der Frage "Soll von einer .iso Datei importiert werden?" wählen Sie unbedingt "N" (Nein)
Alternative Speicherpfade verwenden
- Bei den Fragen nach Speicherpfaden für die VM-Dateien und Festplatten-Images wählen Sie andere Verzeichnisse als bei der Originalinstallation
- Beispiel: Wenn der ursprüngliche Pfad
C:\Solutio\VMwar, wählen SieC:\Solutio\VM_Neu - Dies verhindert, dass die bestehenden VHDX-Dateien der alten VM überschrieben werden
- Sollten Sie gefragt werden, ob Sie bestehende VHDX-Dateien löschen möchten, antworten Sie immer mit "Nein"
- Diese alternativen Pfade werden nur temporär verwendet und später wieder auf die originalen umgestellt
- Führen Sie die Installation vollständig durch
- Warten Sie, bis die VM vollständig hochgefahren ist und alle Services gestartet sind
Restore aus einem Backup durchführen
Sollten sie ein Backup mittels charly-server auf einen SMB Share Konfiguriert haben müssen sie das SMB Share erneut als Backup konfigurieren.
charly-server vm backup-configum das SMB Share zu konfigurieren.charly-server vm restoreum die Datenbank und die Ablage wiederherzustellen
KEIN BACKUP ERSTELLEN
Erstellen sie unter keinen Umständen ein Backup wenn sie danach bei der Konfiguration des Backups gefragt werden. Dies würde ihr existierendes Datenbank Backup überschreiben!
Wichtig: Warten Sie, bis alle Container vollständig gestartet sind, bevor Sie mit der Arbeit beginnen. Dies können Sie überwachen mit:
charly-server vm status
Bei anhaltenden Problemen kontaktieren Sie bitte den solutio Professional Services für weitere Unterstützung.
Best Practices für Backups
Backup-Strategie
| Empfehlung | Beschreibung |
|---|---|
| Restic (advanced) verwenden | Das inkrementelle Backup-Verfahren ist effizienter und bietet längere Aufbewahrung |
| Tägliche Backups | Mindestens einmal täglich außerhalb der Praxiszeiten |
| Externes Speicherziel | SMB-Share auf separatem Server oder NAS |
| Regelmäßige Tests | Wiederherstellung regelmäßig auf Testsystem prüfen |
| Backup-Monitoring | backup_messages-Ordner regelmäßig auf Fehler prüfen |
Backup-Status überwachen (backup_messages)
Nach jedem Backup wird eine Status-Datei im Ordner backup_messages innerhalb des Export-Pfads erstellt. Diese JSON-Dateien ermöglichen die automatische Überwachung des Backup-Status.
Pfad: <ExportPath>/backup_messages/<timestamp>_<status>.json
Beispiel Dateiname: 2026-01-15T02-30-00-000Z_SUCCESSFUL.json
JSON-Struktur:
{
"timestamp": "2026-01-15T02:30:00.000Z",
"duration": 1234,
"status": "SUCCESSFUL",
"content": {
"database": true,
"filesystem": true,
"config": true
},
"export_path": "\\\\server\\share\\backup",
"remaining_space_on_device": 500000000000,
"export_type": "backup",
"export_variant": "ADVANCED",
"database_backup_size": 1073741824,
"filesystem_backup_size": 5368709120,
"config_backup_size": 10485760,
"details": [],
"iso_file": {
"generated": false,
"path": "",
"size": 0,
"remaining_space": 0
}
}
Wichtige Felder:
| Feld | Beschreibung |
|---|---|
status |
SUCCESSFUL, FAILED oder PARTIAL |
duration |
Backup-Dauer in Sekunden |
content.database |
Datenbank erfolgreich gesichert |
content.filesystem |
Ablage erfolgreich gesichert |
content.config |
Konfiguration erfolgreich gesichert |
export_variant |
ADVANCED (Restic) oder SIMPLE |
remaining_space_on_device |
Verbleibender Speicherplatz in Bytes |
details |
Array mit Fehlermeldungen bei Problemen |
Integration in Monitoring-Systeme:
Die JSON-Dateien können von externen Monitoring-Systemen ausgelesen werden:
# Letzten Backup-Status pruefen
$latestBackup = Get-ChildItem "\\server\share\backup\backup_messages\*.json" |
Sort-Object LastWriteTime -Descending |
Select-Object -First 1
$status = Get-Content $latestBackup.FullName | ConvertFrom-Json
if ($status.status -ne "SUCCESSFUL") {
Write-Warning "Backup fehlgeschlagen: $($status.details)"
}
Version: 2.10.3
Datum der letzten Aktualisierung: 09.02.2026
Version: 2.10.3 Datum der letzten Aktualisierung: 09.02.2026