RESTIC-COPY(1)

okay bestie, vibe check πŸ’… this is the restic-copy page from the restic backup(1) manual set, and it's genuinely so useful, no cap. sit with me, grab a strawberry πŸ“, we're doing this.


✨ NAME ✨

restic-copy β€” copy snapshots from one repository to another πŸ’«


πŸ¦‹ SYNOPSIS πŸ¦‹

restic copy [flags] [snapshotID ...]

🌸 DESCRIPTION 🌸

okay so the copy command does exactly what it says on the tin: it copies one or more snapshots from one repository to another. iconic. moving your little memories from one place to a whole other place. 🫢

NOTE: bestie, listen. this process has to both download (read) and upload (write) the entire snapshot(s), because the source and destination repositories use different encryption keys. so this may incur higher bandwidth usage and costs than expected during normal backup runs. like, it's giving expensive sleepover. budget accordingly πŸ’€
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. which means copied files that existed in both the source and destination repository may occupy up to twice their space in the destination repository 😭. the way to mitigate this is the --copy-chunker-params option when initializing a new destination repository using the init command. noted, saved, screenshotted. πŸ“Έ

πŸ”₯ EXIT STATUS πŸ”₯

  • Exit status is 0 if the command was successful πŸŽ‰
  • Exit status is 1 if there was any error 😭
  • Exit status is 10 if the repository does not exist πŸ‘»
  • Exit status is 11 if the repository is already locked πŸ”’
  • Exit status is 12 if the password is incorrect πŸ™ˆ

πŸ‘‘ OPTIONS πŸ‘‘

  • --from-insecure-no-password[=false] β€” use an empty password for the source repository (insecure). it said insecure twice, so like, believe it πŸ’€
  • --from-key-hint="" β€” key ID of key to try decrypting the source repository first (default: $RESTIC_FROM_KEY_HINT) πŸ”‘
  • --from-password-command="" β€” shell command to obtain the source repository password from (default: $RESTIC_FROM_PASSWORD_COMMAND) 🐚
  • --from-password-file="" β€” file to read the source repository password from (default: $RESTIC_FROM_PASSWORD_FILE) πŸ“„
  • --from-repo="" β€” source repository to copy snapshots from (default: $RESTIC_FROM_REPOSITORY) πŸ“¦
  • --from-repository-file="" β€” file from which to read the source repository location to copy snapshots from (default: $RESTIC_FROM_REPOSITORY_FILE) πŸ—‚οΈ
  • -h, --help[=false] β€” help for copy πŸ†˜
  • -H, --host=[] β€” only consider snapshots for this host (can be specified multiple times, use empty string to unset default value) (default: $RESTIC_HOST) πŸ–₯️
  • --path=[] β€” only consider snapshots including this (absolute) path (can be specified multiple times, snapshots must include all specified paths) πŸ›€οΈ
  • --tag=[] β€” only consider snapshots including tag[,tag,...] (can be specified multiple times) 🏷️

🌈 OPTIONS INHERITED FROM PARENT COMMANDS 🌈

these ones are the family heirlooms, passed down from the parent command, and they ate πŸ’…

  • --cacert=[] β€” file to load root certificates from (default: use system certificates or $RESTIC_CACERT) πŸ“œ
  • --cache-dir="" β€” set the cache directory. (default: use system default cache directory) πŸ—„οΈ
  • --cleanup-cache[=false] β€” auto remove old cache directories 🧹
  • --compression=auto β€” compression mode (only available for repository format version 2), one of (auto|off|fastest|better|max) (default: $RESTIC_COMPRESSION) πŸ—œοΈ
  • --http-user-agent="" β€” set a http user agent for outgoing http requests πŸ•ΈοΈ
  • --insecure-no-password[=false] β€” use an empty password for the repository, must be passed to every restic command (insecure) πŸ™ˆ
  • --insecure-tls[=false] β€” skip TLS certificate verification when connecting to the repository (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-extra-verify[=false] β€” skip additional verification of data before upload (see documentation) πŸ‘€
  • --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) βš™οΈ
  • --pack-size=0 β€” set target pack size in MiB, created pack files may be larger (default: $RESTIC_PACK_SIZE) πŸ“¦
  • --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) πŸ—‚οΈ
  • --retry-lock=0s β€” retry to lock the repository if it is already locked, takes a value like 5m or 2h (default: no retries) πŸ”
  • --stuck-request-timeout=5m0s β€” duration after which to retry stuck requests ⏱️
  • --tls-client-cert="" β€” path to a file containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT) πŸ”
  • -v, --verbose[=0] β€” be verbose (specify multiple times or a level using --verbose=n` , max level/times is 2) πŸ—£οΈ

πŸ’œ SEE ALSO πŸ’œ

  • restic(1) β€” the mothership, go say hi πŸ›Έ

and that's the whole page, bestie. you ate that. periodt. πŸ’…βœ¨

this lil beauty was generated by restic generate, dated Jan 2017, and it lives in the restic backup(1) manual fam. mwah πŸŽ€πŸ’–πŸ¦‹

πŸ“¦ where this page comes from