Documentation

Restore data

Restores not supported in InfluxDB Cloud.

Use the influx restore command to restore backup data and metadata from InfluxDB OSS.

InfluxDB moves existing data and metadata to a temporary location. If the restore fails, InfluxDB preserves temporary data for recovery, otherwise this data is deleted. See Recover from a failed restore.

Cannot restore to existing buckets

The influx restore command cannot restore data to existing buckets. Use the --new-bucket flag to create a new bucket to restore data to. To restore data and retain bucket names, delete existing buckets and then begin the restore process.

Restore data with the influx CLI

Use the influx restore command and specify the path to the backup directory.

For more information about restore options and flags, see the influx restore documentation.

Restore all time series data

To restore all time series data from a backup directory, provide the following:

  • backup directory path
influx restore /backups/2020-01-20_12-00/

Restore data from a specific bucket

To restore data from a specific backup bucket, provide the following:

  • backup directory path
  • bucket name or ID
influx restore \
  /backups/2020-01-20_12-00/ \
  --bucket example-bucket

# OR

influx restore \
  /backups/2020-01-20_12-00/ \
  --bucket-id 000000000000

If a bucket with the same name as the backed up bucket already exists in InfluxDB, use the --new-bucket flag to create a new bucket with a different name and restore data into it.

influx restore \
  /backups/2020-01-20_12-00/ \
  --bucket example-bucket \
  --new-bucket new-example-bucket

Restore and replace all InfluxDB data

To restore and replace all time series data and InfluxDB key-value data such as tokens, users, dashboards, etc., include the following:

  • --full flag
  • backup directory path
influx restore \
  /backups/2020-01-20_12-00/ \
  --full

Restore to a new InfluxDB server

If using a backup to populate a new InfluxDB server:

  1. Retrieve the admin token from your source InfluxDB instance.

  2. Set up your new InfluxDB instance, but use the -t, --token flag to use the admin token from your source instance as the admin token on your new instance.

    influx setup --token My5uP3rSecR37t0keN
    
  3. Restore the backup to the new server.

    influx restore \
      /backups/2020-01-20_12-00/ \
      --full
    

If you do not provide the admin token from your source InfluxDB instance as the admin token in your new instance, the restore process and all subsequent attempts to authenticate with the new server will fail.

  1. The first restore API call uses the auto-generated token to authenticate with the new server and overwrites the entire key-value store in the new server, including the auto-generated token.
  2. The second restore API call attempts to upload time series data, but uses the auto-generated token to authenticate with new server. That token is overwritten in first restore API call and the process fails to authenticate.

Recover from a failed restore

If the restoration process fails, InfluxDB preserves existing data in a tmp directory in the target engine path (default is ~/.influxdbv2/engine).

To recover from a failed restore:

  1. Copy the temporary files back into the engine directory.
  2. Remove the .tmp extensions from each of the copied files.
  3. Restart the influxd server.

Was this page helpful?

Thank you for your feedback!


The future of Flux

Flux is going into maintenance mode. You can continue using it as you currently are without any changes to your code.

Flux is going into maintenance mode and will not be supported in InfluxDB 3.0. This was a decision based on the broad demand for SQL and the continued growth and adoption of InfluxQL. We are continuing to support Flux for users in 1.x and 2.x so you can continue using it with no changes to your code. If you are interested in transitioning to InfluxDB 3.0 and want to future-proof your code, we suggest using InfluxQL.

For information about the future of Flux, see the following: