content/enterprise_influxdb/v1/tools/influxd-ctl/restore.md
The influxd-ctl restore command restores data backed up from an InfluxDB
Enterprise cluster.
influxd-ctl restore supports full, incremental, and metadata-only backups.
To restore from a full backup, include the -full flag and provide the path to
the backup manifest (/path/to/backups/backup.manifest).
To restore from an incremental or metadata backup, provide the path to
the directory that contains the backup files (/path/to/backups).
{{% note %}}
The database data is restored to must be empty.
influxd-ctl restore will fail if the destination database contains data.
{{% /note %}}
influxd-ctl restore [flags] <backup-location>
backup-location: Location of backup-related files. They type of backup you're restoring from determines the type and location of backup files:
| Flag | Description |
|---|---|
-db | Database to restore (if the backup contains more than one) |
-full | Restore data from a full backup |
-list | List the contents of the backup |
-meta-only-overwrite-force | Restore only metadata from a backup {{< req "Danger: see below" >}} |
-newdb | Change database name when restoring (requires -db flag) |
-newduration | Change retention policy duration (shard expiry) when restoring (requires -rp flag, use 0s for infinite) |
-newrf | New replication factor to use during restore (limited by cluster size) |
-newrp | Change retention policy name when restoring (requires -rp flag) |
-newshard | Shard ID to restore into (if different from the shard ID in the backup) |
-rp | Retention policy to restore (if the backup contains more than one) |
-shard | Shard ID to restore |
{{% caption %}}
Also see influxd-ctl global flags.
{{% /caption %}}
<span id="meta-only-overwrite-force"></span>
{{% warn %}}
Only use the -meta-only-overwrite-force flag to restore from backups of the
destination cluster. Metadata includes shard assignments to data nodes, so if
you use this flag with metadata from a different cluster, you will lose data.
See Back up and restore for instructions on using this flag. {{% /warn %}}
influxd-ctl restore -full /path/to/full-backup/20230101T00000Z.manifest
{{< expand-wrapper >}} {{% expand "View example output" %}}
Using manifest: /path/to/full-backup/20230101T00000Z.manifest
Restoring meta data... Done. Restored in 9.585639ms, 1 shards mapped
Restoring db telegraf, rp autogen, shard 2 to shard 2...
Copying data to <hostname>:8088... Copying data to <hostname>:8088... Done. Restored shard 2 into shard 2 in 48.095082ms, 569344 bytes transferred
Restored from my-full-backup in 58.58301ms, transferred 569344 bytes
{{% /expand %}} {{< /expand-wrapper >}}
In this example, the restore command restores an incremental backup stored in the my-incremental-backup/ directory.
influxd-ctl restore /path/to/incremental-backup/
{{< expand-wrapper >}} {{% expand "View example output" "1" %}}
Using backup directory: /path/to/incremental-backup/
Using meta backup: 20230101T00000Z.meta
Restoring meta data... Done. Restored in 21.373019ms, 1 shards mapped
Restoring db telegraf, rp autogen, shard 2 to shard 2...
Copying data to <hostname>:8088... Copying data to <hostname>:8088... Done. Restored shard 2 into shard 2 in 61.046571ms, 588800 bytes transferred
Restored from my-incremental-backup/ in 83.892591ms, transferred 588800 bytes
{{% /expand %}} {{< /expand-wrapper >}}
In this example, the restore command restores an metadata backup stored
in the metadata-backup/ directory.
influxd-ctl restore /path/to/metadata-backup/
{{< expand-wrapper >}} {{% expand "View example output" "2" %}}
Using backup directory: /path/to/metadata-backup/
Using meta backup: 20230101T00000Z.meta
Restoring meta data... Done. Restored in 21.373019ms, 1 shards mapped
Restored from my-incremental-backup/ in 19.2311ms, transferred 588 bytes
```{{% /expand %}}
{{< /expand-wrapper >}}