ScyllaDB University Live | Free Virtual Training Event
Learn more
ScyllaDB Documentation Logo Documentation
  • Server
  • Cloud
  • Tools
    • ScyllaDB Manager
    • ScyllaDB Monitoring Stack
    • ScyllaDB Operator
  • Drivers
    • CQL Drivers
    • DynamoDB Drivers
  • Resources
    • ScyllaDB University
    • Community Forum
    • Tutorials
Download
ScyllaDB Docs Scylla Manager CLI sctool Restore

Caution

You're viewing documentation for a previous version of Scylla Manager. Switch to the latest stable version.

RestoreCopy

The restore commands allow you to create and update a restore (ad-hoc or scheduled).

restoreCopy

This command allows you to run an ad-hoc restore. Restore is always one of two types: restore schema (’–restore-schema’ flag) or restore tables’ contents (’–restore-tables’ flag). In both cases, for the restore effects to be visible, you need to perform a specific follow-up action described by selected type.

SyntaxCopy

sctool restore --cluster <id|name> --location [<dc>:]<provider>:<bucket> --snapshot-tag <tag> [flags]

Command optionsCopy

--batch-sizeCopy

Number of SSTables per shard to process in one request by one node. Increasing the default batch size might significantly increase restore performance, as only one shard can work on restoring a single SSTable bundle.

Default value: 2

-c, --clusterCopy

The target cluster name or ID (envvar SCYLLA_MANAGER_CLUSTER).

--cronCopy

Task schedule as a cron expression. It supports the extended syntax including @monthly, @weekly, @daily, @midnight, @hourly, @every X[h|m|s].

--dry-runCopy

Validates and displays restore information without actually running the restore. This allows you to display what will happen should the restore run with the parameters you set.

Default value: false

--enabledCopy

Not enabled tasks are not executed and are hidden from the task list.

Default value: true

-h, --helpCopy

help for restore

Default value: false

-i, --intervalCopy

–interval is deprecated, please use –cron instead

Time after which a successfully completed task would be run again. The supported units are:

  • ‘d’ - days

  • ‘h’ - hours

  • ‘m’ - minutes

  • ‘s’ - seconds

  • ‘ms’ - milliseconds

The task run date is aligned with ‘–start date’ value. For example, if you select ‘–interval 7d’ task would run weekly at the ‘–start-date’ time.

-K, --keyspaceCopy

A list of glob patterns separated by a comma used to include or exclude tables. The patterns match keyspaces and tables, separate the keyspace name from the table name with a dot e.g. ‘keyspace,!keyspace.table_prefix_*’. The following syntax for glob patterns is supported:

  • ‘*’ - matches any number of any characters including none

  • ‘?’ - matches any single character

  • ‘[abc]’ - matches one character given in the bracket

  • ‘[a-z]’ - matches one character from the range given in the bracket

Patterns are evaluated from left to right. If a pattern starts with ‘!’ it unselects items that were selected by previous patterns i.e. ‘a?,!aa’ selects ab but not aa.

Default value: []

--labelCopy

A comma-separated list of label modifications. Labels are represented as a key-value store. Character ‘=’ has a special meaning and cannot be a part of label’s key nor value. A single modification takes form of: * ‘<key>=<value>’ - sets the label <key> to <value> * ‘<key>-’ - removes the label

For example, ‘–label k1=v1,k2-’ will set the label ‘k1’ to ‘v1’ and will also remove label ‘k2’.

-L, --locationCopy

A list of backup locations separated by a comma, specifies places where restored backup is stored.

The format is [<dc>:]<provider>:<bucket>. The <dc> parameter is optional. It allows you to specify the datacenter whose nodes will be used to restore the data from this location in a multi-dc setting, it must match Scylla nodes datacenter. By default, all live nodes are used to restore data from specified locations.

Note that specifying datacenters closest to backup locations might reduce download time of restored data. The supported storage ‘<provider>’s are ‘azure’, ‘gcs’, ‘s3’. The <bucket> parameter is a bucket name, it must be an alphanumeric string and may contain a dash and or a dot, but other characters are forbidden.

Default value: []

--nameCopy

Task name that can be used instead of ID.

-r, --num-retriesCopy

Number of times a task reruns following a failure.

Default value: 3

--parallelCopy

The maximum number of Scylla restore jobs that can be run at the same time (on different SSTables). Each node can take part in at most one restore at any given moment.

Default value: 1

--restore-schemaCopy

Specifies restore type (alternative to ‘–restore-tables’ flag). Restore will recreate schema by applying the backed up output of DESCRIBE SCHEMA WITH INTERNALS via CQL. It requires that restored keyspaces aren’t present in the cluster. For the full list of prerequisites, please see https://manager.docs.scylladb.com/stable/restore/restore-schema.html.

Default value: false

--restore-tablesCopy

Specifies restore type (alternative to ‘–restore-schema’ flag). Restore will recreate contents of tables specified by ‘–keyspace’ flag. It requires that correct schema of restored tables is already present in the cluster (schema can be restored using ‘–restore-schema’ flag). Moreover, in order to prevent situation in which current tables’ contents overlaps restored data, tables should be truncated before initializing restore. For the full list of prerequisites, please see https://manager.docs.scylladb.com/stable/restore/restore-tables.html.

Default value: false

--retry-waitCopy

Initial exponential backoff duration X[h|m|s]. With –retry-wait 10m task will wait 10 minutes, 20 minutes and 40 minutes after first, second and third consecutire failure.

Default value: 10m

--show-tablesCopy

Prints table names together with keyspace, used in combination with –dry-run.

Default value: false

-T, --snapshot-tagCopy

Scylla Manager snapshot tag identifying restored backup. Snapshot tags can be obtained from backup listing (‘./sctool backup list’ command - e.g. sm_20060102150405UTC).

-s, --start-dateCopy

The date can be expressed relatively to now or as a RFC3339 formatted string. To run the task in 2 hours use ‘now+2h’. The supported units are:

  • ‘d’ - days

  • ‘h’ - hours

  • ‘m’ - minutes

  • ‘s’ - seconds

  • ‘ms’ - milliseconds

If you want the task to start at a specified date use RFC3339 formatted string i.e. ‘2018-01-02T15:04:05-07:00’. If you want the repair to start immediately, use the value ‘now’ or skip this flag.

--timezoneCopy

Timezone of –cron and –window flag values. The default value is taken from this system, namely ‘TZ’ envvar or ‘/etc/localtime’ file.

Default value: UTC

--windowCopy

A comma-separated list of time markers in a form [WEEKDAY-]HH:MM. WEEKDAY can be written as the whole word or only using the first 3 characters, HH:MM is an hour from 00:00 to 23:59.

  • ‘MON-00:00,FRI-15:00’ - can be executed from Monday to Friday 3PM

  • ‘23:00,06:00’ - can be executed every night from 11PM to 6AM

  • ‘23:00,06:00,SAT-00:00,SUN-23:59’ - can be executed every night from 11PM to 6AM and all day during the weekend

Default value: []

--api-cert-file

File path to HTTPS client certificate used to access the Scylla Manager server when client certificate validation is enabled (envvar SCYLLA_MANAGER_API_CERT_FILE).

--api-key-file

File path to HTTPS client key associated with –api-cert-file flag (envvar SCYLLA_MANAGER_API_KEY_FILE).

--api-url

Base URL of Scylla Manager server (envvar SCYLLA_MANAGER_API_URL).

If running sctool on the same machine as server, it’s generated based on ‘/etc/scylla-manager/scylla-manager.yaml’ file.

Default value: http://127.0.0.1:5080/api/v1

restore updateCopy

This command allows you to modify properties of an already existing restore task. If there is one restore task the ‘restore/task-id’ argument is not needed.

SyntaxCopy

sctool restore update --cluster <id|name> [flags] [<restore/task-id>]

Command optionsCopy

--batch-sizeCopy

Number of SSTables per shard to process in one request by one node. Increasing the default batch size might significantly increase restore performance, as only one shard can work on restoring a single SSTable bundle.

Default value: 2

-c, --clusterCopy

The target cluster name or ID (envvar SCYLLA_MANAGER_CLUSTER).

--cronCopy

Task schedule as a cron expression. It supports the extended syntax including @monthly, @weekly, @daily, @midnight, @hourly, @every X[h|m|s].

--dry-runCopy

Validates and displays restore information without actually running the restore. This allows you to display what will happen should the restore run with the parameters you set.

Default value: false

--enabledCopy

Not enabled tasks are not executed and are hidden from the task list.

Default value: true

-h, --helpCopy

help for update

Default value: false

-i, --intervalCopy

–interval is deprecated, please use –cron instead

Time after which a successfully completed task would be run again. The supported units are:

  • ‘d’ - days

  • ‘h’ - hours

  • ‘m’ - minutes

  • ‘s’ - seconds

  • ‘ms’ - milliseconds

The task run date is aligned with ‘–start date’ value. For example, if you select ‘–interval 7d’ task would run weekly at the ‘–start-date’ time.

-K, --keyspaceCopy

A list of glob patterns separated by a comma used to include or exclude tables. The patterns match keyspaces and tables, separate the keyspace name from the table name with a dot e.g. ‘keyspace,!keyspace.table_prefix_*’. The following syntax for glob patterns is supported:

  • ‘*’ - matches any number of any characters including none

  • ‘?’ - matches any single character

  • ‘[abc]’ - matches one character given in the bracket

  • ‘[a-z]’ - matches one character from the range given in the bracket

Patterns are evaluated from left to right. If a pattern starts with ‘!’ it unselects items that were selected by previous patterns i.e. ‘a?,!aa’ selects ab but not aa.

Default value: []

--labelCopy

A comma-separated list of label modifications. Labels are represented as a key-value store. Character ‘=’ has a special meaning and cannot be a part of label’s key nor value. A single modification takes form of: * ‘<key>=<value>’ - sets the label <key> to <value> * ‘<key>-’ - removes the label

For example, ‘–label k1=v1,k2-’ will set the label ‘k1’ to ‘v1’ and will also remove label ‘k2’.

-L, --locationCopy

A list of backup locations separated by a comma, specifies places where restored backup is stored.

The format is [<dc>:]<provider>:<bucket>. The <dc> parameter is optional. It allows you to specify the datacenter whose nodes will be used to restore the data from this location in a multi-dc setting, it must match Scylla nodes datacenter. By default, all live nodes are used to restore data from specified locations.

Note that specifying datacenters closest to backup locations might reduce download time of restored data. The supported storage ‘<provider>’s are ‘azure’, ‘gcs’, ‘s3’. The <bucket> parameter is a bucket name, it must be an alphanumeric string and may contain a dash and or a dot, but other characters are forbidden.

Default value: []

--nameCopy

Task name that can be used instead of ID.

-r, --num-retriesCopy

Number of times a task reruns following a failure.

Default value: 3

--parallelCopy

The maximum number of Scylla restore jobs that can be run at the same time (on different SSTables). Each node can take part in at most one restore at any given moment.

Default value: 1

--restore-schemaCopy

Specifies restore type (alternative to ‘–restore-tables’ flag). Restore will recreate schema by applying the backed up output of DESCRIBE SCHEMA WITH INTERNALS via CQL. It requires that restored keyspaces aren’t present in the cluster. For the full list of prerequisites, please see https://manager.docs.scylladb.com/stable/restore/restore-schema.html.

Default value: false

--restore-tablesCopy

Specifies restore type (alternative to ‘–restore-schema’ flag). Restore will recreate contents of tables specified by ‘–keyspace’ flag. It requires that correct schema of restored tables is already present in the cluster (schema can be restored using ‘–restore-schema’ flag). Moreover, in order to prevent situation in which current tables’ contents overlaps restored data, tables should be truncated before initializing restore. For the full list of prerequisites, please see https://manager.docs.scylladb.com/stable/restore/restore-tables.html.

Default value: false

--retry-waitCopy

Initial exponential backoff duration X[h|m|s]. With –retry-wait 10m task will wait 10 minutes, 20 minutes and 40 minutes after first, second and third consecutire failure.

Default value: 10m

--show-tablesCopy

Prints table names together with keyspace, used in combination with –dry-run.

Default value: false

-T, --snapshot-tagCopy

Scylla Manager snapshot tag identifying restored backup. Snapshot tags can be obtained from backup listing (‘./sctool backup list’ command - e.g. sm_20060102150405UTC).

-s, --start-dateCopy

The date can be expressed relatively to now or as a RFC3339 formatted string. To run the task in 2 hours use ‘now+2h’. The supported units are:

  • ‘d’ - days

  • ‘h’ - hours

  • ‘m’ - minutes

  • ‘s’ - seconds

  • ‘ms’ - milliseconds

If you want the task to start at a specified date use RFC3339 formatted string i.e. ‘2018-01-02T15:04:05-07:00’. If you want the repair to start immediately, use the value ‘now’ or skip this flag.

--timezoneCopy

Timezone of –cron and –window flag values. The default value is taken from this system, namely ‘TZ’ envvar or ‘/etc/localtime’ file.

Default value: UTC

--windowCopy

A comma-separated list of time markers in a form [WEEKDAY-]HH:MM. WEEKDAY can be written as the whole word or only using the first 3 characters, HH:MM is an hour from 00:00 to 23:59.

  • ‘MON-00:00,FRI-15:00’ - can be executed from Monday to Friday 3PM

  • ‘23:00,06:00’ - can be executed every night from 11PM to 6AM

  • ‘23:00,06:00,SAT-00:00,SUN-23:59’ - can be executed every night from 11PM to 6AM and all day during the weekend

Default value: []

--api-cert-file

File path to HTTPS client certificate used to access the Scylla Manager server when client certificate validation is enabled (envvar SCYLLA_MANAGER_API_CERT_FILE).

--api-key-file

File path to HTTPS client key associated with –api-cert-file flag (envvar SCYLLA_MANAGER_API_KEY_FILE).

--api-url

Base URL of Scylla Manager server (envvar SCYLLA_MANAGER_API_URL).

If running sctool on the same machine as server, it’s generated based on ‘/etc/scylla-manager/scylla-manager.yaml’ file.

Default value: http://127.0.0.1:5080/api/v1

Was this page helpful?

PREVIOUS
Backup
NEXT
Cluster
  • Create an issue
  • Edit this page

On this page

  • Restore
    • restore
      • Syntax
      • Command options
        • --batch-size
        • -c, --cluster
        • --cron
        • --dry-run
        • --enabled
        • -h, --help
        • -i, --interval
        • -K, --keyspace
        • --label
        • -L, --location
        • --name
        • -r, --num-retries
        • --parallel
        • --restore-schema
        • --restore-tables
        • --retry-wait
        • --show-tables
        • -T, --snapshot-tag
        • -s, --start-date
        • --timezone
        • --window
    • restore update
      • Syntax
      • Command options
        • --batch-size
        • -c, --cluster
        • --cron
        • --dry-run
        • --enabled
        • -h, --help
        • -i, --interval
        • -K, --keyspace
        • --label
        • -L, --location
        • --name
        • -r, --num-retries
        • --parallel
        • --restore-schema
        • --restore-tables
        • --retry-wait
        • --show-tables
        • -T, --snapshot-tag
        • -s, --start-date
        • --timezone
        • --window
Scylla Manager
  • 3.3
    • master
    • 3.5
    • 3.4
    • 3.3
  • Docker
  • Install ScyllaDB Manager
  • Install ScyllaDB Manager Agent
  • ScyllaDB Manager Upgrade
  • Add a Cluster
  • Backup
    • Setup Amazon S3
    • Setup S3 compatible storage
    • Setup Google Cloud Storage
    • Setup Azure Blob Storage
    • Examples
    • Specification
  • Restore
    • Restore tables
    • Restore schema for ScyllaDB 6.0/2024.2 or newer
    • Restore schema for ScyllaDB 5.4/2024.1 or older
    • Examples
    • Compatibility Matrix
  • Repair
    • Repair faster
    • Repair slower
    • Examples
  • Health Check
  • CLI sctool
    • Environment variables
    • Completion
    • Download files
    • Backup
    • Restore
    • Cluster
    • Info
    • Progress
    • Repair
    • Start
    • Status
    • Stop
    • Suspend & Resume
    • Tasks
    • Version
  • Configuration Files
    • Scylla Manager Config
    • Scylla Manager Agent Config
  • Swagger File
  • ScyllaDB Monitoring
  • Troubleshooting
  • Slack
Docs Tutorials University Contact Us About Us
© 2025, ScyllaDB. All rights reserved. | Terms of Service | Privacy Policy | ScyllaDB, and ScyllaDB Cloud, are registered trademarks of ScyllaDB, Inc.
Last updated on 07 May 2025.
Powered by Sphinx 7.4.7 & ScyllaDB Theme 1.8.6
Yes
No
User Slack channel
Community forum
Collapse