123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- .\" Man page generated from reStructuredText.
- .
- .TH BORG-COMPRESSION 1 "2017-03-26" "" "borg backup tool"
- .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
- Compression is lz4 by default. If you want something else, you have to specify what you want.
- .sp
- Valid compression specifiers are:
- .sp
- none
- .INDENT 0.0
- .INDENT 3.5
- Do not compress.
- .UNINDENT
- .UNINDENT
- .sp
- lz4
- .INDENT 0.0
- .INDENT 3.5
- Use lz4 compression. High speed, low compression. (default)
- .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.
- .
|