RESTIC-DUMP(1)
π restic-dump β bestie's guide to yeeting files out of a snapshot π
okay so real talk, this page is from the restic backup(1) manual family, and it's about the dump command. no cap, it's lowkey one of the most useful things in restic and nobody talks about it. let's get into it β¨
πΈ NAME πΈ
restic-dump β print backed-up files or folders to stdout. like, literally just spit them out. that's the whole job. iconic behaviour honestly.
π SYNOPSIS π
restic dump [flags] snapshotID file
π¦ DESCRIPTION π¦
so the dump command extracts files from a snapshot in the repository. slay.
if you pick a single file, it prints that file's contents straight to stdout. boom. done.
if you pick a folder, it gets output as a tar (that's the default, bestie) or a zip file containing the contents of the specified folder. so you get an archive back.
and if you want the whole entire snapshot as an archive file? just pass / as the file name. that's it. main character move.
the special snapshotID latest is your bestie here β use it to grab the latest snapshot in the repository. no need to remember a big long hex string, we love convenience.
and okay, this one's a little β¨spicyβ¨: to include the folder content at the root of the archive, you can use the snapshotID:subfolder syntax, where subfolder is a path within the snapshot tree as shown by restic ls. so like, if you don't want a bunch of nested folders in your tar, this is the way. iykyk.
π EXIT STATUS π
here's the vibe check on how it bails out:
- exit status is
0if the command was successful π - exit status is
1if there was any error π - exit status is
10if the repository does not exist - exit status is
11if the repository is already locked π - exit status is
12if the password is incorrect π
π OPTIONS π
-a,--archive="tar"β set the archive format as"tar"or"zip". pick your fighter.-h,--help[=false]β help for dump. your little emergency handbook.-H,--host=[]β only consider snapshots for this host, when snapshot IDlatestis given (can be specified multiple times, use empty string to unset default value) (default:$RESTIC_HOST)--path=[]β only consider snapshots including this (absolute) path, when snapshot IDlatestis given (can be specified multiple times, snapshots must include all specified paths). yes bestie, all of them.--tag=[]β only consider snapshots includingtag[,tag,...], when snapshot IDlatestis given (can be specified multiple times)-t,--target=""β write the output to target path. so instead of stdout, it goes to a file. obsessed.
π OPTIONS INHERITED FROM PARENT COMMANDS π
these ones come from the big restic parent command, but they still work here and they still matter, so we're listing every single one, periodt:
--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)
bestie. insecure. it literally says insecure in the name. do not do this unless you truly know what you're doing. π¨
--insecure-tls[=false]β skip TLS certificate verification when connecting to the repository (insecure)
again with the insecure flag π it's right there in the name, it is not being subtle.
--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 like5mor2h(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 read it, bestie.
that's the whole page, no notes, you ate that π β¨
this lil guide was generated by restic generate back in Jan 2017, and it lives under the restic backup(1) manual name. love that for us. π«Άπ
π¦ where this page comes from
- arch rolling: restic 0.19.1-1 Β· BSD
- epel 10: restic 0.19.1-1.el10_3 Β· Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND MIT AND MPL-2.0
- epel 9: restic 0.19.1-1.el9 Β· Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND MIT AND MPL-2.0
- fedora 43: restic 0.19.1-1.fc43 Β· Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND MIT AND MPL-2.0
- fedora 44: restic 0.19.1-1.fc44 Β· Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND MIT AND MPL-2.0
- nixpkgs unstable: restic 0.19.1
- ubuntu stonking: restic 0.19.1-1ubuntu1 Β· BSD-2-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms