BORG-EXTRACT(1)

NAME
borg-extract - Extract archive contents

SYNOPSIS

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

DESCRIPTION

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.

For more help on include/exclude patterns, see the borg_patterns command output.

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.

        When parent directories are not extracted (because of using file/directory selection or any other reason), borg can not restore parent directories' metadata, e.g. owner, group, permission, etc.

OPTIONS

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

  arguments

    NAME
        specify the archive name

    PATH
        paths to extract; patterns are supported

  options

    --list
        output verbose list of items (files, dirs, ...)

    -n, --dry-run
        do not actually change any files

    --numeric-ids
        only obey numeric user and group identifiers

    --noflags
        do not extract/set flags (e.g. NODUMP, IMMUTABLE)

    --noacls
        do not extract/set ACLs

    --noxattrs
        do not extract/set xattrs

    --stdout
        write all extracted data to stdout

    --sparse
        create holes in output sparse file from all-zero chunks

    --continue
        continue a previously interrupted extraction of same archive

  Include/Exclude options

    -e PATTERN, --exclude PATTERN
        exclude paths matching PATTERN

    --exclude-from EXCLUDEFILE
        read exclude patterns from EXCLUDEFILE, one per line

    --pattern PATTERN
        include/exclude paths matching PATTERN

    --patterns-from PATTERNFILE
        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.

EXAMPLES

            # Extract entire archive
            $ borg extract my-files

            # Extract entire archive and list files while processing
            $ borg extract --list my-files

            # Verify whether an archive could be successfully extracted, but do not write files to disk
            $ borg extract --dry-run my-files

            # Extract the "src" directory
            $ borg extract my-files home/USERNAME/src

            # Extract the "src" directory but exclude object files
            $ borg extract my-files home/USERNAME/src --exclude '*.o'

            # Restore a raw device (must not be active/in use/mounted at that time)
            $ borg extract --stdout my-sdx | dd of=/dev/sdx bs=10M

SEE ALSO

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

AUTHOR
The Borg Collective