BORG-EXPORT-TAR(1)

NAME
borg-export-tar - Export archive contents as a tarball

SYNOPSIS

borg [common options] export-tar [options] ARCHIVE FILE [PATH...]

DESCRIPTION

This command creates a tarball from an archive.

When giving '-' as the output FILE, Borg will write a tar stream to standard output.

By default (--tar-filter=auto) Borg will detect whether the FILE should be compressed based on its file extension and pipe the tarball through an appropriate filter before writing it to FILE:

    •   .tar.gz or .tgz: gzip

    •   .tar.bz2 or .tbz: bzip2

    •   .tar.xz or .txz: xz

    •   .tar.zstd or .tar.zst: zstd

    •   .tar.lz4: lz4

Alternatively, a --tar-filter program may be explicitly specified. It should read the uncompressed tar stream from stdin and write a compressed/filtered tar stream to stdout.

The generated tarball uses the GNU tar format.

export-tar is a lossy conversion: BSD flags, ACLs, extended attributes (xattrs), atime and ctime are not exported. Timestamp resolution is limited to whole seconds, not the nanosecond resolution otherwise supported by Borg.

A --sparse option (as found in borg extract) is not supported.

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.

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

OPTIONS

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

  arguments

    ARCHIVE
        archive to export

    FILE
        output tar file. "-" to write to stdout instead.

    PATH
        paths to extract; patterns are supported

  options

    --tar-filter
        filter program to pipe data through

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

  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

            # export as uncompressed tar
            $ borg export-tar /path/to/repo::Monday Monday.tar

            # exclude some types, compress using gzip
            $ borg export-tar /path/to/repo::Monday Monday.tar.gz --exclude '*.so'

            # use higher compression level with gzip
            $ borg export-tar --tar-filter="gzip -9" testrepo::linux Monday.tar.gz

            # export a tar, but instead of storing it on disk,
            # upload it to a remote site using curl.
            $ borg export-tar /path/to/repo::Monday - | curl --data-binary @- https://somewhere/to/POST

            # remote extraction via "tarpipe"
            $ borg export-tar /path/to/repo::Monday - | ssh somewhere "cd extracted; tar x"

SEE ALSO

borg-common(1)

AUTHOR
The Borg Collective