---
layout: commands
page_title: 'Commands: Snapshot Restore'
description: |
  The `consul snapshot restore` command restores the state of Consul servers after a disaster. A server can restore key/value entries, registered services in the catalog, prepared queries, sessions, and ACLs from a saved snapshot.
---

# Consul Snapshot Restore

Command: `consul snapshot restore`

Corresponding HTTP API Endpoint: [\[PUT\] /v1/snapshot](/consul/api-docs/snapshot#restore-snapshot)

The `snapshot restore` command is used to restore an atomic, point-in-time
snapshot of the state of the Consul servers which includes key/value entries,
service catalog, prepared queries, sessions, and ACLs. The snapshot is read
from the given file.

Restores involve a potentially dangerous low-level Raft operation that is not
designed to handle server failures during a restore. This command is primarily
intended to recover from a disaster. It restores your configuration into a fresh
cluster of Consul servers as long as your new cluster runs the same Consul
version as the cluster that originally took the snapshot.

The table below shows this command's [required ACLs](/consul/api-docs/api-structure#authentication). Configuration of
[blocking queries](/consul/api-docs/features/blocking) and [agent caching](/consul/api-docs/features/caching)
are not supported from commands, but may be from the corresponding HTTP endpoint.

| ACL Required |
| ------------ |
| `management` |

## Usage

Usage: `consul snapshot restore [options] FILE`

#### API Options

@include 'http_api_options_client.mdx'

@include 'http_api_options_server.mdx'

## Examples

To restore a snapshot from the file "backup.snap":

```shell-session
$ consul snapshot restore backup.snap
Restored snapshot
```

Please see the [HTTP API](/consul/api-docs/snapshot) documentation for
more details about snapshot internals.
