Dokumentation
Backups und Wiederherstellung
Unter Administration → Backup erstellen und verwalten Sie Backups.
Was wird gesichert?
- MySQL/MariaDB-Datenbank
- Blob-Storage (Anhänge und Nachrichtenrümpfe)
- Server-Einstellungen (optional)
- DKIM-Schlüssel (optional)
Was nicht gesichert wird
- Der Volltext-Suchindex. Er ist abgeleitet und wird nach einer Wiederherstellung neu gebaut — siehe Schritt 4 weiter unten. Ohne diesen Schritt findet die Suche nichts, obwohl alle Daten da sind.
- Das TLS-Zertifikat. Auf einer neuen Maschine holt der Server sich ein neues, sobald die DNS-Einträge auf sie zeigen.
Wiederherstellung über die Oberfläche
- Backup-Archiv hochladen.
- Wiederherstellungsziel wählen (vollständig oder selektiv).
- Server wird nach Abschluss neu gestartet, falls nötig.
Wiederherstellung über die Kommandozeile
Das ist der Weg für den Ernstfall. Die Oberfläche antwortet genau dann nicht mehr, wenn Sie sie am dringendsten bräuchten — kaputte Datenbank, halb ausgerollte Fassung, gelöschtes Verzeichnis.
Der Befehl arbeitet ohne laufenden Server und weigert sich, solange einer antwortet. Das ist Absicht: Während der Dump eingespielt wird, arbeitet ein laufender Dienst auf denselben Tabellen weiter, und das Ergebnis ist eine Mischung aus zwei Zuständen, die erst Tage später auffällt.
# Vorhandene Sicherungen anzeigen
sudo annexgroup restore-backup --list
# Dienst anhalten
sudo systemctl stop annexgroup
# Zurückspielen
sudo annexgroup restore-backup annexgroup-backup-20260831-090000.tar.gz
Umzug auf eine andere Maschine
Der häufigste Grund für eine Wiederherstellung ist kein Unglück, sondern ein Umzug: Die alte Maschine soll weg. Der Ablauf ist derselbe, mit vier Zusätzen.
1. Leere Datenbank anlegen. Auf der neuen Maschine, mit demselben Zeichensatz:
CREATE DATABASE annexgroup CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'annexgroup'@'localhost' IDENTIFIED BY '<Kennwort>';
GRANT ALL PRIVILEGES ON annexgroup.* TO 'annexgroup'@'localhost';
2. Archiv und Konfiguration übertragen. Das Archiv gehört in das
Sicherungsverzeichnis der neuen Installation (<Datenverzeichnis>/backups).
Prüfen Sie in der Konfiguration die Pfade data_dir und database_dsn — sie
zeigen sonst auf Verzeichnisse, die es auf der neuen Maschine nicht gibt.
3. Zurückspielen, wie oben, bei angehaltenem Dienst.
4. Suchindex neu bauen — bei weiterhin angehaltenem Dienst:
sudo annexgroup reindex-search
sudo systemctl start annexgroup
In dieser Reihenfolge, nicht umgekehrt. Der Suchindex verträgt genau einen Schreiber. Läuft der Dienst bereits, hält er die Sperre, und
reindex-searchbricht mit einem Hinweis darauf ab.
Danach nachzählen, nicht hoffen. Eine Wiederherstellung ist erst belegt, wenn Sie beides verglichen haben: Melden Sie sich über IMAP und über die Weboberfläche an, öffnen Sie eine Nachricht mit Anhang, und suchen Sie einmal nach einem Wort, von dem Sie wissen, dass es vorkommt.
Hinweis: Testen Sie Backups regelmäßig in einer separaten Umgebung. Eine Sicherung, die nie zurückgespielt wurde, ist eine Annahme, keine Absicherung.
Etwas unklar oder falsch beschrieben? Sagen Sie uns Bescheid — wir korrigieren es. Ihre Frage zeigt uns, wo der Text nicht trägt.