RESTIC-REPAIR-PACKS(1)

πŸ“¦
version 0.19.1 Β· 4 versions
, in arch rolling, epel 10, epel 9, fedora 43, fedora 44, nixpkgs unstable, ubuntu stonking

✨ restic-repair-packs(1) ✨

okay bestie, so this is the manual page for restic-repair-packs β€” it lives in the restic backup(1) family of pages, and no, the header lying to you about the title is just a restic thing, we move on πŸ’…


🌸 NAME 🌸

restic-repair-packs β€” salvage damaged pack files, bestie. we're doing damage control and we're doing it cute πŸ’–


πŸŽ€ SYNOPSIS πŸŽ€

restic repair packs [packIDs...] [flags]

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so the repair packs command is the glow-up surgeon of the repo. what it does:

it extracts intact blobs from the pack files you specify β€” so like, it goes in and pulls out every blob that survived πŸ’ͺ

then it rebuilds the index so that the damaged pack files get removed from it.

and then it removes the pack files from the repository. gone. not invited to the party anymore πŸ™ˆ

that's it. that's the whole vibe. salvage what's salvageable, yeet the rest ✨


πŸ’€ EXIT STATUS πŸ’€

ngl the exit codes are giving very specific and we respect that:

  • 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 πŸ‘‘

  • -h, --help[=false] β€” help for packs. your lil "what do I do" button, no judgment 🫢

🌈 OPTIONS INHERITED FROM PARENT COMMANDS 🌈

these are the family traits, inherited from the parent command, and there are so many of them:

  • --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)
ngl bestie, the --insecure-no-password and --insecure-tls ones literally have "(insecure)" in their own names. that's them telling on themselves. use with intention, okay? 🚨

🧚 SEE ALSO 🧚


and that's the page, bestie!! this one was generated by restic generate back in Jan 2017, so like, it's vintage but it still slays ⭐ go forth and salvage those packs πŸ“πŸ’–

πŸ“¦ where this page comes from