2017-02-05 13:22:06 +00:00
|
|
|
.\" Man page generated from reStructuredText.
|
|
|
|
.
|
2017-03-26 23:58:19 +00:00
|
|
|
.TH BORG-COMPRESSION 1 "2017-03-26" "" "borg backup tool"
|
2017-02-05 13:22:06 +00:00
|
|
|
.SH NAME
|
|
|
|
borg-compression \- Details regarding compression
|
|
|
|
.
|
|
|
|
.nr rst2man-indent-level 0
|
|
|
|
.
|
|
|
|
.de1 rstReportMargin
|
|
|
|
\\$1 \\n[an-margin]
|
|
|
|
level \\n[rst2man-indent-level]
|
|
|
|
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|
|
|
-
|
|
|
|
\\n[rst2man-indent0]
|
|
|
|
\\n[rst2man-indent1]
|
|
|
|
\\n[rst2man-indent2]
|
|
|
|
..
|
|
|
|
.de1 INDENT
|
|
|
|
.\" .rstReportMargin pre:
|
|
|
|
. RS \\$1
|
|
|
|
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
|
|
|
|
. nr rst2man-indent-level +1
|
|
|
|
.\" .rstReportMargin post:
|
|
|
|
..
|
|
|
|
.de UNINDENT
|
|
|
|
. RE
|
|
|
|
.\" indent \\n[an-margin]
|
|
|
|
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|
|
|
.nr rst2man-indent-level -1
|
|
|
|
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|
|
|
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
|
|
|
..
|
|
|
|
.SH DESCRIPTION
|
|
|
|
.sp
|
2017-03-26 23:58:19 +00:00
|
|
|
Compression is lz4 by default. If you want something else, you have to specify what you want.
|
2017-02-05 13:22:06 +00:00
|
|
|
.sp
|
|
|
|
Valid compression specifiers are:
|
|
|
|
.sp
|
|
|
|
none
|
|
|
|
.INDENT 0.0
|
|
|
|
.INDENT 3.5
|
2017-03-26 23:58:19 +00:00
|
|
|
Do not compress.
|
2017-02-05 13:22:06 +00:00
|
|
|
.UNINDENT
|
|
|
|
.UNINDENT
|
|
|
|
.sp
|
|
|
|
lz4
|
|
|
|
.INDENT 0.0
|
|
|
|
.INDENT 3.5
|
2017-03-26 23:58:19 +00:00
|
|
|
Use lz4 compression. High speed, low compression. (default)
|
2017-02-05 13:22:06 +00:00
|
|
|
.UNINDENT
|
|
|
|
.UNINDENT
|
|
|
|
.sp
|
|
|
|
zlib[,L]
|
|
|
|
.INDENT 0.0
|
|
|
|
.INDENT 3.5
|
|
|
|
Use zlib ("gz") compression. Medium speed, medium compression.
|
|
|
|
If you do not explicitely give the compression level L (ranging from 0
|
|
|
|
to 9), it will use level 6.
|
|
|
|
Giving level 0 (means "no compression", but still has zlib protocol
|
|
|
|
overhead) is usually pointless, you better use "none" compression.
|
|
|
|
.UNINDENT
|
|
|
|
.UNINDENT
|
|
|
|
.sp
|
|
|
|
lzma[,L]
|
|
|
|
.INDENT 0.0
|
|
|
|
.INDENT 3.5
|
|
|
|
Use lzma ("xz") compression. Low speed, high compression.
|
|
|
|
If you do not explicitely give the compression level L (ranging from 0
|
|
|
|
to 9), it will use level 6.
|
|
|
|
Giving levels above 6 is pointless and counterproductive because it does
|
|
|
|
not compress better due to the buffer size used by borg \- but it wastes
|
|
|
|
lots of CPU cycles and RAM.
|
|
|
|
.UNINDENT
|
|
|
|
.UNINDENT
|
|
|
|
.sp
|
|
|
|
auto,C[,L]
|
|
|
|
.INDENT 0.0
|
|
|
|
.INDENT 3.5
|
|
|
|
Use a built\-in heuristic to decide per chunk whether to compress or not.
|
|
|
|
The heuristic tries with lz4 whether the data is compressible.
|
|
|
|
For incompressible data, it will not use compression (uses "none").
|
|
|
|
For compressible data, it uses the given C[,L] compression \- with C[,L]
|
|
|
|
being any valid compression specifier.
|
|
|
|
.UNINDENT
|
|
|
|
.UNINDENT
|
|
|
|
.sp
|
|
|
|
The decision about which compression to use is done by borg like this:
|
|
|
|
.INDENT 0.0
|
|
|
|
.IP 1. 3
|
|
|
|
find a compression specifier (per file):
|
|
|
|
match the path/filename against all patterns in all \-\-compression\-from
|
|
|
|
files (if any). If a pattern matches, use the compression spec given for
|
|
|
|
that pattern. If no pattern matches (and also if you do not give any
|
|
|
|
\-\-compression\-from option), default to the compression spec given by
|
|
|
|
\-\-compression. See docs/misc/compression.conf for an example config.
|
|
|
|
.IP 2. 3
|
|
|
|
if the found compression spec is not "auto", the decision is taken:
|
|
|
|
use the found compression spec.
|
|
|
|
.IP 3. 3
|
|
|
|
if the found compression spec is "auto", test compressibility of each
|
|
|
|
chunk using lz4.
|
|
|
|
If it is compressible, use the C,[L] compression spec given within the
|
|
|
|
"auto" specifier. If it is not compressible, use no compression.
|
|
|
|
.UNINDENT
|
|
|
|
.sp
|
|
|
|
Examples:
|
|
|
|
.INDENT 0.0
|
|
|
|
.INDENT 3.5
|
|
|
|
.sp
|
|
|
|
.nf
|
|
|
|
.ft C
|
|
|
|
borg create \-\-compression lz4 REPO::ARCHIVE data
|
|
|
|
borg create \-\-compression zlib REPO::ARCHIVE data
|
|
|
|
borg create \-\-compression zlib,1 REPO::ARCHIVE data
|
|
|
|
borg create \-\-compression auto,lzma,6 REPO::ARCHIVE data
|
|
|
|
borg create \-\-compression\-from compression.conf \-\-compression auto,lzma ...
|
|
|
|
.ft P
|
|
|
|
.fi
|
|
|
|
.UNINDENT
|
|
|
|
.UNINDENT
|
|
|
|
.sp
|
|
|
|
compression.conf has entries like:
|
|
|
|
.INDENT 0.0
|
|
|
|
.INDENT 3.5
|
|
|
|
.sp
|
|
|
|
.nf
|
|
|
|
.ft C
|
|
|
|
# example config file for \-\-compression\-from option
|
|
|
|
#
|
|
|
|
# Format of non\-comment / non\-empty lines:
|
|
|
|
# <compression\-spec>:<path/filename pattern>
|
|
|
|
# compression\-spec is same format as for \-\-compression option
|
|
|
|
# path/filename pattern is same format as for \-\-exclude option
|
|
|
|
none:*.gz
|
|
|
|
none:*.zip
|
|
|
|
none:*.mp3
|
|
|
|
none:*.ogg
|
|
|
|
.ft P
|
|
|
|
.fi
|
|
|
|
.UNINDENT
|
|
|
|
.UNINDENT
|
|
|
|
.sp
|
|
|
|
General remarks:
|
|
|
|
.sp
|
|
|
|
It is no problem to mix different compression methods in one repo,
|
|
|
|
deduplication is done on the source data chunks (not on the compressed
|
|
|
|
or encrypted data).
|
|
|
|
.sp
|
|
|
|
If some specific chunk was once compressed and stored into the repo, creating
|
|
|
|
another backup that also uses this chunk will not change the stored chunk.
|
|
|
|
So if you use different compression specs for the backups, whichever stores a
|
|
|
|
chunk first determines its compression. See also borg recreate.
|
|
|
|
.SH AUTHOR
|
|
|
|
The Borg Collective
|
|
|
|
.\" Generated by docutils manpage writer.
|
|
|
|
.
|