Zum Inhalt

Backup und Wiederherstellung

Die Dateien und Postgres-Datenbank-Dumps können mit dem charly-server-Skript von einer klassischen charly-Installation gesichert werden. Es kann auch ein tägliches Backup konfiguriert werden.

Während des Backups laufen alle Java-Services und charly-Clients weiter.

Es werden folgende Daten exportiert:

  • Die Dateien (typischerweise aus dem /Applications/Solutio/Client/Charly)
  • Die Postgres-Datenbanken werden in Datenbank-Dump Dateien gesichert.
  • Relevante Konfigurationsdateien werden in einen Unterordner config exportiert.
  • Bei der neuen, inkrementellen Backup-Variante, werden die Backup-Daten in einem Restic Backup gesichert.
  • All diese Daten können optional in eine export.iso gebündelt werden.

Bei ADVANCED prüft restic check nach jedem Backup die Repository-Struktur. Fehler erscheinen als Backup-Warnung im WebUI und verhindern die Aufbewahrungsbereinigung für diesen Lauf. Gesicherte Nutzdaten werden dabei nicht vollständig gelesen; automatische Reparaturen sind nicht aktiviert.

Schnellkonfiguration

Für erfahrene Nutzer, wird hier alles Wichtige in Kürze zusammengefasst.

Ab macOS 14 werden alle benötigten Hilfsprogramme für Intel und Apple Silicon automatisch aus dem solutio CDN installiert. Homebrew ist nicht erforderlich.

charly-server Skript installieren:

/bin/zsh -c "$(curl -fsSL https://charly-cdn-solutio.s3.amazonaws.com/release/macos/charly-server-install.zsh)"

Backup manuell erstellen:

charly-server export normal -skip_iso true -backup_variant advanced

Tägliches Backup konfigurieren:

charly-server export backup-config

charly-server Skript und Hilfsprogramme installieren

Das charly-server Skript wird mit folgendem Befehl installiert:

/bin/zsh -c "$(curl -fsSL https://charly-cdn-solutio.s3.amazonaws.com/release/macos/charly-server-install.zsh)"

Prüfen, ob charly-server installiert wurde:

charly-server -help

Die benötigten Hilfsprogramme werden bei Bedarf automatisch aus dem solutio CDN installiert, auch bei täglichen Backups nach einem Skript-Update.

Hilfsprogramm Version Mindestversion macOS für das CDN-Paket
jq 1.8.2 14
p7zip (7z) 17.06 14
xorriso 1.5.8.pl02 14
restic 0.18.0 / 0.18.1 11 / 12

Auf älterem macOS werden ausführbare Hilfsprogramme aus dem PATH weiterverwendet, beispielsweise aus MacPorts. Ihre Version muss nicht exakt der CDN-Paketversion entsprechen. Fehlende Programme werden bei manuellen Aufrufen über Homebrew installiert. Falls Homebrew fehlt, wird es zuvor ebenfalls installiert. Vor dem Einrichten täglicher Backups sollten Sie die Hilfsprogramme dort einmal manuell vorbereiten.

Nach der Installation des charly-server-Skripts können Sie die Hilfsprogramme auch vorab installieren:

charly-server export prepare

Manuelles Backup erstellen

Wenn folgender Befehl ohne zustzliche Parameter ausgeführt wird, werden Standard-Parameter verwendet und das Skript sucht selbstständig nach der Postgres Datenbank.

charly-server export normal

Dies würde aber per default auch eine ISO-Datei erzeugen, die nicht notwendig ist (hat historischen Gründe, warum das der default ist). Um ein Backup ohne ISO erzeugen:

charly-server export normal -skip_iso true

Beim ersten Aufruf wird abgefragt, ob das neue, inkrementelle Backup-Verfahren (advanced), oder das alte, einfache Backup-Verfahren angewendet werden soll. Das inkrementelle Backup-Verfahren wird empfohlen. Das kann auch als Parameter angegeben werden (simple oder advanced):

charly-server export normal -backup_variant advanced

Bevor der eigentliche Export beginnt, muss die Konfiguration noch bestätigt werden.

Das Kommando kann auch mit weiteren Parametern aufgerufen werden, um die Konfiguration zu ändern.

charly-server export normal -export_path /tmp/export

Backup-Varianten

Es gibt 2 Varianten ein Backup zu erstellen:

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

Backup-Modi

Es kann entweder ein Vollbackup oder nur ein Datenbank-Backup erstellt werden.

Modus Beschreibung
normal Vollständiger Backup, sichert Datenbank, Dateien und Konfigurationen
databaseonly Nur Datenbank Backup

Typische Parameter

Parameter Beschreibung Standard
-solutio_path Installationsverzeichnis von Solutio /Application/Solutio
-export_path Zielverzeichnis für den Export ~/charly-server-export
-iso_file_path Pfad zur ISO-Datei ~/charly-server-export/export.iso
-postgres_path PostgreSQL-Installationsverzeichnis /Library/solutio_postgresql
-postgres_port PostgreSQL-Port 5432
-silent Das Skript wird ohne Nachfragen ausgeführt. Nützlich für regelmäßige Backups

Für mehr Informationen:

charly-server export -help

Tägliches Backup konfigurieren

Es ist möglich, einen täglicher Export zu konfigurieren:

charly-server export backup-config
Auch hier werden Standard-Parameter verwendet und das Skript sucht selbstständig nach der Postgres Datenbank. Bevor die eigentliche Konfiguration beginnt, muss die Konfiguration bestätigt werden. Oder sie kann abgebrochen und das Kommando dann mit weiteren oder anderen Parametern gestartet werden.

Bei der Konfiguration werden Sie gefragt:

  • Backup Variante: Empfohlen wird 1, inkrementelles Backup
  • Backup Typ: Empfohlen wird 1, normal
  • Backup Zeit: Angabe von Stunde und Minute. Empfohlen wird ein Zeitpunkt in der Nacht
  • ISO erstellen: Eine ISO Datei wird nicht benötigt, kann aber zusätzlich das Backup als Einzeldatei enthalten. Empfohlen wird, diese nicht zu erstellen, um das Backup zu beschleunigen und Platz zu sparen

WICHTIG

Ein täglicher Export ist in die typischen Benutzer-Verzeichnisse, wie Dokumente, Schreibtisch und SMB-Shares, nicht möglich, da der root User beim täglichen Backup nicht in diese Verzeichnisse schreiben kann. Es erscheint dann eine Warnung. Geben Sie einen anderen -export_path an.

Besonderheiten des inkrementellen Restic Backup

Liste aller Backups

Es können die letzten 10 Backups angezeigt werden:

charly-server manage backup-list

Es können auch mehr oder weniger Backups angezeigt werden:

charly-server manage 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 manage backup-list -count 3 -show_sizes

Restic Browser

Die charly-Server Skript-Kommandos kümmern sich bei der inkrementellen Backup-Variante um das Sichern und Wiederherstellen im Restic Backup. Es ist aber möglich, in das Restic Backup hinein zu sehen.

Im Export Verzeichnis befindet sich, wenn dass neue, inkrementelle Backup erzeugt wurde, ein Ordner restic_repository. Dieser läßt sich mit einem freien Tool, zB. Restic Browser öffnen. Tragen Sie als Passwort "restic_password" ein.

Dieses Passwort ist aktuell nur pro-forma, aber es ist für ein zukünftiges Update geplant, dass dieses Passwort personalisiert werden kann.

Wiederherstellung einer Installation

Mit den Export-Daten kann sowohl eine klasische Installation wiederhergestellt werden. Aber es kann damit auch eine charly VM installiert werden, also ein Umzug statt finden.

Es wird empfohlen, im Falle einer Wiederherstellung, eine charly VM zu installieren.

Klassische Installation

Führen Sie folgendes Kommando aus:

charly-server manage restore

Sie werden dann gefragt, ob Sie fortfahren wollen. Dieses Kommando stellt alle Daten aus einem vorhanden Backup wieder her. Wenn die inkrementelle Backup-Variante verwendet wurde, kann dann ausgewählt werden, welches Backup wiederhergestellt werden soll.

charly VM Installation

Folgen Sie dafür der Anleitung für die Migration auf die charly-VM.


Version: 2.13.1

Datum der letzten Aktualisierung: 02.11.2026