---
title: Manual Backup and Restore for the Turbine Multitenant 23.x / 24.x / 25.x
slug: turbine-upgrade-guide/manual-backup-and-restore-for-the-turbine-multitenant-23x-24x-25x
docTags: 
createdAt: 2025-12-10T14:32:16.240Z
---

The Turbine Platform 23.x/24.x uses snapshots to backup and restore your data. The snapshot feature is available on an Embedded and Existing cluster deployment


NOTE: In case there are problems with the snapshots and there is a dire need to backup and archive the data use the method below to alternatively backup and restore the data.

## Backup the data

The steps outlined below will store a backup of the data inside the Swimlane Tools container, copy the data to the running host, and optionally copy them to another host for safekeeping:

Run the backup script. It will generate a Swimlane.tgz and SwimlaneTenant.pgdump backup in the /dump folder of the Swimlane Tools Container:

:::BlockQuote
kubectl exec swimlane-tools-0 -n default -- /bin/bash -c "nohup bash -c 'mkdir -p /dump && python3 /usr/local/bin/backup\_restore\_multitenant.py backup && python3 /usr/local/bin/elasticsearch/elasticsearch-backup.py --backup' > /var/log/turbine-backup.log 2>&1 &"

\# You can then check progress with:
kubectl exec -n default swimlane-tools-0 -- tail -f /var/log/turbine-backup.log
:::

The backup script generates two files and one directory in the /dump folder inside the swimlane-tools pod.

\- Swimlane.tgz

\- SwimlaneTenant.pgdump

\- elasticsearch/

Compress the Elasticsearch directory for easy retrieval and storage.

:::BlockQuote
kubectl exec swimlane-tools-0 -- /bin/bash -c "tar -cvf /dump/elasticsearch.tar /dump/elasticsearch"
:::

Transfer Swimlane.tgz, SwimlaneTenant.pgdump, and elasticsearch.tar from the swimlane tools pod to the /tmp folder on the host machine. Optionally, copy them from the /tmp folder on the host machine to your external VM for safekeeping.

:::BlockQuote
kubectl cp swimlane-tools-0:/dump/Swimlane.tgz /tmp/Swimlane.tgz

kubectl cp swimlane-tools-0:/dump/SwimlaneTenant.pgdump /tmp/SwimlaneTenant.pgdump

kubectl cp swimlane-tools-0:/dump/elasticsearch.tar /tmp/elasticsearch.tar

:::

## Restore the data

The steps outlined below will copy an existing backup into the Swimlane Tools container and perform a restore of the data:

:::BlockQuote
\# Copy the Swimlane.tgz, SwimlaneTenant.pgdump, and elasticsearch.tar backup into the Swimlane Tools Container 

kubectl cp /tmp/Swimlane.tgz swimlane-tools-0:/dump/Swimlane.tgz 

kubectl cp /tmp/SwimlaneTenant.pgdump swimlane-tools-0:/dump/SwimlaneTenant.pgdump 

kubectl cp /tmp/elasticsearch.tar swimlane-tools-0:/dump/elasticsearch.tar 


kubectl exec swimlane-tools-0 -- /bin/bash -c 'tar -xvf /dump/elasticsearch.tar -C /dump --strip-components=1'


\# Run the restore script

kubectl exec -n default swimlane-tools-0 -- /bin/bash -c "nohup bash -c 'python3 /usr/local/bin/backup\_restore\_multitenant.py restore && python3 /usr/local/bin/elasticsearch/elasticsearch-backup.py --restore' > /var/log/turbine-restore.log 2>&1 &"

\# To monitor progress:

kubectl exec -n default swimlane-tools-0 -- tail -f /var/log/turbine-restore.log
:::

NOTE: The restore may take time before you start seeing progress on the screen:
