Scroll to navigation

BORG-EXTRACT(1) borg backup tool BORG-EXTRACT(1)


borg-extract - Extract archive contents


borg [common options] extract [options] ARCHIVE [PATH...]


This command extracts the contents of an archive. By default the entire archive is extracted but a subset of files and directories can be selected by passing a list of PATHs as arguments. The file selection can further be restricted by using the --exclude option.

See the output of the "borg help patterns" command for more help on exclude patterns.

By using --dry-run, you can do all extraction steps except actually writing the output data: reading metadata and data chunks from the repo, checking the hash/hmac, decrypting, decompressing.

--progress can be slower than no progress display, since it makes one additional pass over the archive metadata.


Currently, extract always writes into the current working directory ("."), so make sure you cd to the right place before calling borg extract.


See borg-common(1) for common options of Borg commands.


archive to extract
paths to extract; patterns are supported

optional arguments

output verbose list of items (files, dirs, ...)
do not actually change any files
only obey numeric user and group identifiers
do not extract/set bsdflags (e.g. NODUMP, IMMUTABLE)
do not extract/set ACLs
do not extract/set xattrs
write all extracted data to stdout
create holes in output sparse file from all-zero chunks

Exclusion options

exclude paths matching PATTERN
read exclude patterns from EXCLUDEFILE, one per line
experimental: include/exclude paths matching PATTERN
experimental: read include/exclude patterns from PATTERNFILE, one per line
Remove the specified number of leading path elements. Paths with fewer elements will be silently skipped.


# Extract entire archive
$ borg extract /path/to/repo::my-files
# Extract entire archive and list files while processing
$ borg extract --list /path/to/repo::my-files
# Verify whether an archive could be successfully extracted, but do not write files to disk
$ borg extract --dry-run /path/to/repo::my-files
# Extract the "src" directory
$ borg extract /path/to/repo::my-files home/USERNAME/src
# Extract the "src" directory but exclude object files
$ borg extract /path/to/repo::my-files home/USERNAME/src --exclude '*.o'
# Restore a raw device (must not be active/in use/mounted at that time)
$ borg extract --stdout /path/to/repo::my-sdx | dd of=/dev/sdx bs=10M


borg-common(1), borg-mount(1)


The Borg Collective