borg [common options] extract [options] ARCHIVE [PATH...]
positional arguments | ||
ARCHIVE |
archive to extract | |
PATH |
paths to extract; patterns are supported | |
optional arguments | ||
--list |
output verbose list of items (files, dirs, …) | |
-n , --dry-run |
do not actually change any files | |
--numeric-owner |
only obey numeric user and group identifiers | |
--nobsdflags |
do not extract/set bsdflags (e.g. NODUMP, IMMUTABLE) | |
--stdout |
write all extracted data to stdout | |
--sparse |
create holes in output sparse file from all-zero chunks | |
Exclusion options | ||
-e PATTERN , --exclude PATTERN |
exclude paths matching PATTERN | |
--exclude-from EXCLUDEFILE |
read exclude patterns from EXCLUDEFILE, one per line | |
--pattern PATTERN |
experimental: include/exclude paths matching PATTERN | |
--patterns-from PATTERNFILE |
experimental: read include/exclude patterns from PATTERNFILE, one per line | |
--strip-components NUMBER |
Remove the specified number of leading path elements. Paths with fewer elements will be silently skipped. |
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.
Note
Currently, extract always writes into the current working directory (“.”),
so make sure you cd
to the right place before calling borg extract
.
# 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