Zum Inhalt springen

Dokumentation / Backups

Backups importieren

Ein Odoo-Backup-Archiv per SSH auf deinen Server schieben und importieren — zum Beispiel, um ein bestehendes Odoo zu calmo.cloud umzuziehen.

Du kannst ein bestehendes Odoo-Backup zu calmo.cloud bringen, indem du das Archiv per SSH auf deinen Server schiebst und importierst. Das ist der empfohlene Weg, um eine Odoo-Instanz von einem anderen Hoster zu calmo.cloud umzuziehen: dort ein Backup exportieren, hochschieben und in einem Schritt in deinen Dienst wiederherstellen.

Was du brauchst #

  • Ein Odoo-Backup-Archiv (.zip) mit Datenbank-Dump und normalerweise dem Dateispeicher — das Format, das Odoos eigener db dump erzeugt.
  • Einen SSH-Schlüssel, der bei deinem Team hinterlegt und auf den Server synchronisiert ist, damit du Dateien darauf kopieren kannst.
  • Ein für den Dienst konfiguriertes Backup-Ziel.

Import über das Panel #

1. Archiv auf deinen Server schieben #

Kopiere das Backup-Archiv auf den Server, auf dem dein Dienst läuft, zum Beispiel mit scp:

scp backup.zip root@203.0.113.10:/tmp/import_backup.zip

Der Dialog Import Backup (nächster Schritt) zeigt diesen Befehl bereits für deinen Server ausgefüllt — mit der richtigen Adresse und dem Zielpfad — bereit zum Kopieren.

2. Den Dialog Import Backup öffnen #

Navigiere zum Dienst, öffne den Backups-Tab und klicke auf Import Backup.

3. Importieren — und optional wiederherstellen #

Gib den Pfad ein, an den du die Datei geschoben hast. Dann wähle:

  • Import only — das Archiv wird an deinem Backup-Ziel abgelegt und erscheint in der Backup-Liste, bereit zur Wiederherstellung, wann immer du möchtest.
  • Restore into this service after import — das Archiv wird sofort wiederhergestellt: calmo.cloud legt ein Sicherheits-Backup des aktuellen Zustands an, stoppt den Dienst, ersetzt die Datenbank durch das Archiv (und den Dateispeicher, wenn das Archiv einen enthält) und startet den Dienst wieder. Anschließend wird das Archiv an deinem Backup-Ziel gespeichert und bleibt als reguläres Backup verfügbar.

Verfolge den Fortschritt in der Backup-Liste — der Eintrag wandert von Pending über Restoring zu Completed.

Import über die API #

Derselbe Ablauf steht auch in der API zur Verfügung, womit sich Migrationen von Anfang bis Ende skripten lassen:

# 1. Archiv auf den Server schieben, auf dem der Dienst läuft
scp backup.zip root@203.0.113.10:/tmp/import_backup.zip

# 2. Importieren — mit "restore": true wird es sofort in den Dienst wiederhergestellt
curl -X POST https://your-panel.example/api/service-odoo/{id}/backups/import \
  -H "Authorization: Bearer <api-token>" \
  -H "Content-Type: application/json" \
  -d '{"source_path": "/tmp/import_backup.zip", "restore": true, "description": "Migration vom alten Hoster"}'

# 3. Das Backup abfragen, bis es abgeschlossen ist
curl https://your-panel.example/api/service-odoo/{id}/backups \
  -H "Authorization: Bearer <api-token>"

Mit "skip_safety_backup": true überspringst du das Sicherheits-Backup des aktuellen Zustands — praktisch, wenn der Zieldienst noch leer ist.

Gut zu wissen #

  • Dateien, die nach /tmp geschoben wurden, werden nach einem erfolgreichen Import vom Server entfernt. Dateien an anderen Orten bleiben liegen.
  • Schlägt eine Wiederherstellung fehl, bleibt das hochgeschobene Archiv auf dem Server, sodass du es erneut versuchen kannst, ohne es noch einmal zu übertragen. Mit dem vorher angelegten Sicherheits-Backup kommst du zum vorherigen Zustand zurück.
  • Das Archiv muss ein reguläres Odoo-Backup-Zip sein. Archive von jedem Odoo-Hosting — auch ein selbst gehosteter db dump — funktionieren, solange die Odoo-Version zum Dienst passt.
  • Ein Archiv, das sich nicht als Zip lesen lässt, wird abgelehnt, bevor der Dienst gestoppt wird.
  • Ein Archiv ohne Dateispeicher lässt die aktuellen Dateien des Dienstes unverändert: Die Wiederherstellung ersetzt nur die Datenbank. Die Anhänge müssen dann auf anderem Weg zum Dienst kommen.