Scroll to navigation

BORG-EXPORT-TAR(1) borg backup tool BORG-EXPORT-TAR(1)


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


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


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: 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.


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


archive to export
output tar file. "-" to write to stdout instead.
paths to extract; patterns are supported

optional arguments

filter program to pipe data through
output verbose list of items (files, dirs, ...)

Exclusion options

exclude paths matching PATTERN
read exclude patterns from EXCLUDEFILE, one per line
include/exclude paths matching PATTERN
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.


# 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"




The Borg Collective