borg import-tar
***************

   borg [common options] import-tar [options] ARCHIVE TARFILE


Description
===========

This command creates a backup archive from a tarball.

When giving '-' as a path, Borg will read a tar stream from standard
input.

By default ("--tar-filter=auto") Borg will detect whether the file is
compressed based on its file extension and pipe the file through an
appropriate filter:

* .tar.gz or .tgz: gzip -d

* .tar.bz2 or .tbz: bzip2 -d

* .tar.xz or .txz: xz -d

* .tar.zstd or .tar.zst: zstd -d

* .tar.lz4: lz4 -d

Alternatively, a "--tar-filter" program may be explicitly specified.
It should read compressed data from stdin and output an uncompressed
tar stream on stdout.

Most documentation of "borg create" applies. Note that this command
does not support excluding files.

import-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 create) is not supported.

import-tar reads POSIX.1-1988 (ustar), POSIX.1-2001 (pax), GNU tar,
UNIX V7 tar and SunOS tar with extended attributes.

To import multiple tarballs into a single archive, they can be simply
concatenated (e.g. using "cat") into a single file, and imported with
an "--ignore-zeros" option to skip through the stop markers between
them.


borg export-tar
***************

   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 help patterns
command output.

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


Examples
========

   # Export as an 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 a 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"
