Markdown

Veröffentlichen

Backups

Easy Backup sichert die MySQL-Datenbank und die Uploads deines Backends nach Zeitplan oder auf Abruf und stellt einzelne Sicherungen wieder her.

Auf dieser Seite

Easy Backup steht für Projekte mit MySQL-Backend zur Verfügung. Du schaltest es in der Projektkonfiguration ein, an derselben Stelle wie phpMyAdmin. Danach läuft es als Sidecar neben deinem Backend: eine NestJS-API und eine Next.js-Oberfläche im selben Docker-Netz wie MySQL. Weil der Dienst die Datenbank direkt über dieses Netz erreicht, braucht er keinen Zugriff auf den Docker-Socket des Servers. Die Sicherungen entstehen mit mysqldump und tar im Container.

Was in einer Sicherung steckt

Eine Sicherung besteht aus zwei Teilen. Die Datenbank wird als gzip-komprimiertes SQL exportiert. Die Uploads werden als tar.gz des Ordners ./backend-uploads gesichert, den das Deployment im Backend-Container unter /app/upload einhängt; welche Konvention dafür gilt, steht unter Backend veröffentlichen. Archive und Metadaten liegen auf dem Server unter ./backend-backups, neben ./backend-mysql mit den Daten der Datenbank.

Drei Zugriffsarten

Für jedes Backend legst du genau eine Zugriffsart fest.

Im Modus Intern ist die Oberfläche nur über 127.0.0.1 erreichbar, also lokal auf dem Server oder über eine Port-Weiterleitung. Aus dem Internet ist nichts davon zu sehen.

Im Modus Öffentlich bekommt die Oberfläche eine eigene Domain oder die Adresse backup.<projekt>.<org>.ap-clients.com und ist mit Benutzername und Passwort geschützt.

Im Modus Platform bleibt die Oberfläche intern. Die Application Platform spricht ausschließlich die Schnittstelle unter /api/platform/* mit einem API-Key an, und du verwaltest Liste, Wiederherstellung und Zeitplan in der Web-Oberfläche der Plattform unter Backups.

Zeitplan und Aufbewahrung

Ohne eigene Einstellung läuft die Sicherung täglich um 04:00 Uhr in der Zeitzone des Servers, und die letzten 14 täglichen Sicherungen bleiben erhalten. Beides änderst du in der Easy-Backup-Oberfläche, über die Plattform-API oder mit der Kommandozeile easy-backup, die auch Sicherungen auslöst und wiederherstellt:

easy-backup list
easy-backup create --database --uploads
easy-backup restore <id>
easy-backup schedule --cron "0 4 * * *" --retention 14

restore spielt die Sicherung mit der angegebenen ID zurück, und create mit beiden Schaltern sichert Datenbank und Uploads zusammen.