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
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: gzip
- .tar.bz2: bzip2
- .tar.xz: xz
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.
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
See the output of the "borg help patterns" command for more help on
can be slower than no progress display, since it makes one
additional pass over the archive metadata.
for common options of Borg commands.
- archive to export
- output tar file. "-" to write to stdout
- paths to extract; patterns are supported
- filter program to pipe data through
- output verbose list of items (files, dirs, ...)
- -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.
# 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 testrepo::linux --tar-filter="gzip -9" Monday.tar.gz
# export a gzipped tar, but instead of storing it on disk,
# upload it to a remote site using curl.
$ borg export-tar ... --tar-filter="gzip" - | 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