2017-02-05 13:22:06 +00:00
|
|
|
.\" Man page generated from reStructuredText.
|
|
|
|
.
|
|
|
|
.
|
|
|
|
.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
|
|
|
|
..
|
2022-01-23 14:53:42 +00:00
|
|
|
.TH "BORG-COMPRESSION" 1 "2022-01-23" "" "borg backup tool"
|
|
|
|
.SH NAME
|
|
|
|
borg-compression \- Details regarding compression
|
2017-02-05 13:22:06 +00:00
|
|
|
.SH DESCRIPTION
|
|
|
|
.sp
|
2017-06-18 10:13:28 +00:00
|
|
|
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.
|
|
|
|
.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:
|
|
|
|
.INDENT 0.0
|
2017-06-18 10:13:28 +00:00
|
|
|
.TP
|
|
|
|
.B none
|
2017-03-26 23:58:19 +00:00
|
|
|
Do not compress.
|
2017-06-18 10:13:28 +00:00
|
|
|
.TP
|
|
|
|
.B lz4
|
2019-02-24 19:40:07 +00:00
|
|
|
Use lz4 compression. Very high speed, very low compression. (default)
|
|
|
|
.TP
|
|
|
|
.B zstd[,L]
|
|
|
|
Use zstd ("zstandard") compression, a modern wide\-range algorithm.
|
|
|
|
If you do not explicitly give the compression level L (ranging from 1
|
|
|
|
to 22), it will use level 3.
|
|
|
|
Archives compressed with zstd are not compatible with borg < 1.1.4.
|
2017-06-18 10:13:28 +00:00
|
|
|
.TP
|
|
|
|
.B zlib[,L]
|
2017-02-05 13:22:06 +00:00
|
|
|
Use zlib ("gz") compression. Medium speed, medium compression.
|
2018-01-03 10:40:35 +00:00
|
|
|
If you do not explicitly give the compression level L (ranging from 0
|
2017-02-05 13:22:06 +00:00
|
|
|
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.
|
2017-06-18 10:13:28 +00:00
|
|
|
.TP
|
|
|
|
.B lzma[,L]
|
2017-02-05 13:22:06 +00:00
|
|
|
Use lzma ("xz") compression. Low speed, high compression.
|
2018-01-03 10:40:35 +00:00
|
|
|
If you do not explicitly give the compression level L (ranging from 0
|
2017-02-05 13:22:06 +00:00
|
|
|
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.
|
2017-06-18 10:13:28 +00:00
|
|
|
.TP
|
|
|
|
.B auto,C[,L]
|
2017-02-05 13:22:06 +00:00
|
|
|
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.
|
2020-12-06 19:45:41 +00:00
|
|
|
.TP
|
|
|
|
.B obfuscate,SPEC,C[,L]
|
|
|
|
Use compressed\-size obfuscation to make fingerprinting attacks based on
|
|
|
|
the observable stored chunk size more difficult.
|
|
|
|
Note:
|
|
|
|
\- you must combine this with encryption or it won\(aqt make any sense.
|
|
|
|
\- your repo size will be bigger, of course.
|
|
|
|
.sp
|
|
|
|
The SPEC value will determine how the size obfuscation will work:
|
|
|
|
.sp
|
|
|
|
Relative random reciprocal size variation:
|
|
|
|
Size will increase by a factor, relative to the compressed data size.
|
|
|
|
Smaller factors are often used, larger factors rarely.
|
|
|
|
1: factor 0.01 .. 100.0
|
|
|
|
2: factor 0.1 .. 1000.0
|
|
|
|
3: factor 1.0 .. 10000.0
|
|
|
|
4: factor 10.0 .. 100000.0
|
|
|
|
5: factor 100.0 .. 1000000.0
|
|
|
|
6: factor 1000.0 .. 10000000.0
|
|
|
|
.sp
|
|
|
|
Add a randomly sized padding up to the given size:
|
|
|
|
110: 1kiB
|
|
|
|
\&...
|
|
|
|
120: 1MiB
|
|
|
|
\&...
|
|
|
|
123: 8MiB (max.)
|
2017-02-05 13:22:06 +00:00
|
|
|
.UNINDENT
|
|
|
|
.sp
|
|
|
|
Examples:
|
|
|
|
.INDENT 0.0
|
|
|
|
.INDENT 3.5
|
|
|
|
.sp
|
|
|
|
.nf
|
|
|
|
.ft C
|
|
|
|
borg create \-\-compression lz4 REPO::ARCHIVE data
|
2019-02-24 19:40:07 +00:00
|
|
|
borg create \-\-compression zstd REPO::ARCHIVE data
|
|
|
|
borg create \-\-compression zstd,10 REPO::ARCHIVE data
|
2017-02-05 13:22:06 +00:00
|
|
|
borg create \-\-compression zlib REPO::ARCHIVE data
|
|
|
|
borg create \-\-compression zlib,1 REPO::ARCHIVE data
|
|
|
|
borg create \-\-compression auto,lzma,6 REPO::ARCHIVE data
|
2017-04-29 23:32:26 +00:00
|
|
|
borg create \-\-compression auto,lzma ...
|
2020-12-06 19:45:41 +00:00
|
|
|
borg create \-\-compression obfuscate,3,none ...
|
|
|
|
borg create \-\-compression obfuscate,3,auto,zstd,10 ...
|
|
|
|
borg create \-\-compression obfuscate,2,zstd,6 ...
|
2017-02-05 13:22:06 +00:00
|
|
|
.ft P
|
|
|
|
.fi
|
|
|
|
.UNINDENT
|
|
|
|
.UNINDENT
|
|
|
|
.SH AUTHOR
|
|
|
|
The Borg Collective
|
|
|
|
.\" Generated by docutils manpage writer.
|
|
|
|
.
|