# borg import-tar

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

positional arguments
| `ARCHIVE` | name of archive to create (must be also a valid directory name)
| `TARFILE` | input tar file. “-” to read from stdin instead.
options
| `--tar-filter` | filter program to pipe data through
| `-s`, `--stats` | print statistics for the created archive
| `--list` | output verbose list of items (files, dirs, …)
| `--filter STATUSCHARS` | only display items with the given status characters
| `--json` | output stats as JSON (implies --stats)
| `--ignore-zeros` | ignore zero-filled blocks in the input tarball
Common options
Archive options
| `--comment COMMENT` | add a comment text to the archive
| `--timestamp TIMESTAMP` | manually specify the archive creation date/time (UTC, yyyy-mm-ddThh:mm:ss format). alternatively, give a reference file/directory.
| `-c SECONDS`, `--checkpoint-interval SECONDS` | write checkpoint every SECONDS seconds (Default: 1800)
| `--chunker-params PARAMS` | specify the chunker parameters (ALGO, CHUNK_MIN_EXP, CHUNK_MAX_EXP, HASH_MASK_BITS, HASH_WINDOW_SIZE). default: buzhash,19,23,21,4095
| `-C COMPRESSION`, `--compression COMPRESSION` | select compression algorithm, see the output of the “borg help compression” command for details.

## 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...]

positional 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, …)
Common options
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.

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