restic backup(1)

NAME

restic-copy - Copy snapshots from one repository to another

SYNOPSIS

restic copy [flags] [snapshotID ...]

DESCRIPTION

The "copy" command copies one or more snapshots from one repository to another.

NOTE: This process will have to both download (read) and upload (write) the entire snapshot(s) due to the different encryption keys used in the source and destination repositories. This /may incur higher bandwidth usage and costs/ than expected during normal backup runs.

NOTE: The copying process does not re-chunk files, which may break deduplication between the files copied and files already stored in the destination repository. This means that copied files, which existed in both the source and destination repository, /may occupy up to twice their space/ in the destination repository. This can be mitigated by the "--copy-chunker-params" option when initializing a new destination repository using the "init" command.

OPTIONS

-h, --help[=false]
    help for copy

-H, --host=[]
    only consider snapshots for this host, when no snapshot ID is given (can be specified multiple times)

--key-hint2=""
    key ID of key to try decrypting the destination repository first (default: $RESTIC_KEY_HINT2)

--password-command2=""
    shell command to obtain the destination repository password from (default: $RESTIC_PASSWORD_COMMAND2)

--password-file2=""
    file to read the destination repository password from (default: $RESTIC_PASSWORD_FILE2)

--path=[]
    only consider snapshots which include this (absolute) path, when no snapshot ID is given

--repo2=""
    destination repository to copy snapshots to (default: $RESTIC_REPOSITORY2)

--repository-file2=""
    file from which to read the destination repository location to copy snapshots to (default: $RESTIC_REPOSITORY_FILE2)

--tag=[]
    only consider snapshots which include this taglist, when no snapshot ID is given

OPTIONS INHERITED FROM PARENT COMMANDS

--cacert=[]
    file to load root certificates from (default: use system certificates)

--cache-dir=""
    set the cache directory. (default: use system default cache directory)

--cleanup-cache[=false]
    auto remove old cache directories

--insecure-tls[=false]
    skip TLS certificate verification when connecting to the repo (insecure)

--json[=false]
    set output mode to JSON for commands that support it

--key-hint=""
    key ID of key to try decrypting first (default: $RESTIC_KEY_HINT)

--limit-download=0
    limits downloads to a maximum rate in KiB/s. (default: unlimited)

--limit-upload=0
    limits uploads to a maximum rate in KiB/s. (default: unlimited)

--no-cache[=false]
    do not use a local cache

--no-lock[=false]
    do not lock the repository, this allows some operations on read-only repositories

-o, --option=[]
    set extended option (key=value, can be specified multiple times)

--password-command=""
    shell command to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)

-p, --password-file=""
    file to read the repository password from (default: $RESTIC_PASSWORD_FILE)

-q, --quiet[=false]
    do not output comprehensive progress report

-r, --repo=""
    repository to backup to or restore from (default: $RESTIC_REPOSITORY)

--repository-file=""
    file to read the repository location from (default: $RESTIC_REPOSITORY_FILE)

--tls-client-cert=""
    path to a file containing PEM encoded TLS client certificate and private key

-v, --verbose[=0]
    be verbose (specify multiple times or a level using --verbose=n, max level/times is 3)

SEE ALSO

restic(1)