Backup & restore (Docker)
Dieser Abschnitt zeigt einige Grundlagen zum Sicherungs- und Wiederherstellungsprozess für eine auf Docker Compose basierte Installation von Zammad.
Wenn Sie mit Volume-basierten Backup- und Restore-Prozessen in Docker vertraut sind und vielleicht bereits eine andere Methode oder ein anderes Tool verwenden, können Sie diese weiterhin nutzen. Ein Backup würde typischerweise bedeuten, den Stack herunterzufahren, um sicherzustellen, dass alle Dateien aus dem Arbeitsspeicher auf die Festplatte geschrieben werden, dann den Inhalt des Volumes zu sichern und anschließend den Stack wieder zu starten. Wenn Sie eine solche Methode verwenden, können Sie in Erwägung ziehen, das Szenario Backup-Dienst deaktivieren zu verwenden, damit der integrierte Backup- und Restore-Prozess von Zammad nicht aktiviert wird.
Der Rest dieser Seite beschreibt den eingebauten Backup- und Restore-Prozess von Zammads Docker Compose Stack.
Wenn Sie mit Docker vertraut sind, finden Sie im Abschnitt unten die Informationen, die Sie benötigen. Die Seite Docker Datei Handling enthält einige Beispiele für den Umgang mit Sicherungsdateien und das Kopieren in ein Docker-Volume, um es wiederherzustellen.
Backup
By default, a backup is created at 3 o'clock each night. The backup is stored in the volume of the zammad-backup container under /var/tmp/zammad. To trigger a one-time backup manually, use one of the commands below, depending on your deployment method.
In your Docker Compose directory, run:
sh
docker compose run --rm --env BACKUP_ONCE=true zammad-backupRestore
- Starten Sie den neuen Stack mindestens einmal, damit eine Zammad-Datenbank verfügbar ist.
- Stoppen Sie den Stack.
- Falls Sie auf einen produktiven Stack mit aktiviertem Dateisystemspeicher wiederherstellen, sollten Sie den Inhalt des Verzeichnisses
/opt/zammad/storage/innerhalb des Volumes bereinigen. Der Wiederherstellungsprozess fügt dort nur Dateien hinzu bzw. überschreibt sie, es findet keine Bereinigung statt. - Kopieren oder verschieben Sie die Sicherungsdateien nach
/var/tmp/zammad/restore/innerhalb des Volumes des Containers zammad-backup. Beachten Sie, dass der Wiederherstellungsprozess immer die neueste Sicherung gemäß dem Zeitstempel des Dateinamens verwendet. Nur Backups von Paket- und Docker-Installationen werden von dieser eingebauten Backup-Methode unterstützt. Kopieren Sie nicht die Dateienlatest_zammad_*.gz, da sie auf einen für den Wiederherstellungsprozess unbekannten Ort verweisen. - Start the stack. The restore process is triggered in the
zammad-backupservice if therestoredirectory is detected and the backup files are in place. As a part of this process, the Rails cache will be cleared. All other containers wait for the restore to finish before they resume their normal operations. - Nachdem der Wiederherstellungsprozess abgeschlossen ist, wurde das Verzeichnis
restoreumbenannt. Sie können es jetzt löschen. - Rebuild the Elasticsearch index. You can use Zammad while the rebuild is running, but search performance is degraded and some data may be temporarily unavailable in search results. Use one of the commands below, depending on your deployment method.
Without specifying CPU cores:
sh
docker compose run --rm zammad-railsserver bundle exec rake zammad:searchindex:rebuildWith specifying CPU cores to use (example 8):
sh
docker compose run --rm zammad-railsserver bundle exec rake zammad:searchindex:rebuild[8]