Copy command
Special case for the copy command section
The copy command needs two repositories (and quite likely 2 different set of keys). You can configure a copy section like this:
version = "1"
[default]
  initialize = false
  repository = "/backup/original"
  password-file = "key"
  [default.copy]
    initialize = true
    repository = "/backup/copy"
    password-file = "other_key"version: "1"
default:
    initialize: false
    repository: "/backup/original"
    password-file: key
    copy:
        initialize: true
        repository: "/backup/copy"
        password-file: other_keydefault {
    initialize = false
    repository = "/backup/original"
    password-file = "key"
    copy = {
        initialize = true
        repository = "/backup/copy"
        password-file = "other_key"
    }
}You will note that the secondary repository doesn’t need to have a 2 behind its flags (repository2, password-file2, etc.) nor it is prefixed by a from for the more recent version of restic (from-repo, from-password-file, etc.). It’s because the flags are well separated in the configuration and there’s no ambiguity.
Initialisation
If you want to initialize the copy repository using the copy-chunker-params flag, it needs to be called initialize-copy-chunker-params instead. As such, this flag does not exist on the copy target which is why we need to prefix it.
version = "1"
[profile]
  initialize = false
  repository = "/backup/original"
  password-file = "key"
  [profile.copy]
    initialize = true
    initialize-copy-chunker-params = true
    repository = "/backup/copy"
    password-file = "other_key"version: "1"
profile:
    initialize: false
    repository: "/backup/original"
    password-file: key
    copy:
        initialize: true
        initialize-copy-chunker-params: true
        repository: "/backup/copy"
        password-file: other_keyprofile {
    initialize = false
    repository = "/backup/original"
    password-file = "key"
    copy = {
        initialize = true
        initialize-copy-chunker-params = true
        repository = "/backup/copy"
        password-file = "other_key"
    }
}Copy only some snapshots
You can restrict the copy to only some snapshots using the snapshot option.
The snapshot parameter can be a snapshot ID or the latest keyword. You can use an array if multiple values are needed.
version = "1"
[profile]
  repository = "/backup/original"
  password-file = "key"
  [profile.copy]
    initialize = true
    initialize-copy-chunker-params = true
    repository = "/backup/copy"
    password-file = "other_key"
    snapshot = "latest"version: "1"
profile:
    repository: "/backup/original"
    password-file: key
    copy:
        initialize: true
        initialize-copy-chunker-params: true
        repository: "/backup/copy"
        password-file: other_key
        snapshot: latestprofile {
    repository = "/backup/original"
    password-file = "key"
    copy = {
        initialize = true
        initialize-copy-chunker-params = true
        repository = "/backup/copy"
        password-file = "other_key"
        snapshot = "latest"
    }
}