Thomas Waldmann 3 éve
szülő
commit
61c7ee2b35

+ 3 - 3
docs/man/borg-benchmark-crud.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-BENCHMARK-CRUD 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-benchmark-crud \- Benchmark Create, Read, Update, Delete for archives.
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-BENCHMARK-CRUD" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-benchmark-crud \- Benchmark Create, Read, Update, Delete for archives.
 .SH SYNOPSIS
 .sp
 borg [common options] benchmark crud [options] REPOSITORY PATH

+ 3 - 3
docs/man/borg-benchmark.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-BENCHMARK 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-benchmark \- benchmark command
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-BENCHMARK" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-benchmark \- benchmark command
 .SH SYNOPSIS
 .nf
 borg [common options] benchmark crud ...

+ 3 - 3
docs/man/borg-break-lock.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-BREAK-LOCK 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-break-lock \- Break the repository lock (e.g. in case it was left by a dead borg.
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-BREAK-LOCK" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-break-lock \- Break the repository lock (e.g. in case it was left by a dead borg.
 .SH SYNOPSIS
 .sp
 borg [common options] break\-lock [options] [REPOSITORY]

+ 18 - 8
docs/man/borg-check.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-CHECK 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-check \- Check repository consistency
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-CHECK" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-check \- Check repository consistency
 .SH SYNOPSIS
 .sp
 borg [common options] check [options] [REPOSITORY_OR_ARCHIVE]
@@ -40,6 +40,11 @@ The check command verifies the consistency of a repository and the corresponding
 check \-\-repair is a potentially dangerous function and might lead to data loss
 (for kinds of corruption it is not capable of dealing with). BE VERY CAREFUL!
 .sp
+Pursuant to the previous warning it is also highly recommended to test the
+reliability of the hardware running this software with stress testing software
+such as memory testers. Unreliable hardware can also lead to data loss especially
+when this command is run in repair mode.
+.sp
 First, the underlying repository data files are checked:
 .INDENT 0.0
 .IP \(bu 2
@@ -83,6 +88,11 @@ In repair mode, when all the archives were checked, orphaned chunks are deleted
 from the repo. One cause of orphaned chunks are input file related errors (like
 read errors) in the archive creation process.
 .IP \(bu 2
+In verify\-data mode, a complete cryptographic verification of the archive data
+integrity is performed. This conflicts with \fB\-\-repository\-only\fP as this mode
+only makes sense if the archive checks are enabled. The full details of this mode
+are documented below.
+.IP \(bu 2
 If checking a remote repo via \fBssh:\fP, the archive check is executed on the
 client machine because it requires decryption, and this is always done client\-side
 as key access is needed.
@@ -122,19 +132,19 @@ repository or archive to check consistency of
 .SS optional arguments
 .INDENT 0.0
 .TP
-.B \-\-repository\-only
+.B  \-\-repository\-only
 only perform repository checks
 .TP
-.B \-\-archives\-only
+.B  \-\-archives\-only
 only perform archives checks
 .TP
-.B \-\-verify\-data
+.B  \-\-verify\-data
 perform cryptographic archive data integrity verification (conflicts with \fB\-\-repository\-only\fP)
 .TP
-.B \-\-repair
+.B  \-\-repair
 attempt to repair any inconsistencies found
 .TP
-.B \-\-save\-space
+.B  \-\-save\-space
 work slower, but using less space
 .TP
 .BI \-\-max\-duration \ SECONDS

+ 16 - 16
docs/man/borg-common.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-COMMON 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-common \- Common options of Borg commands
 .
 .nr rst2man-indent-level 0
 .
@@ -30,49 +27,52 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-COMMON" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-common \- Common options of Borg commands
 .SH SYNOPSIS
 .INDENT 0.0
 .TP
-.B \-h\fP,\fB  \-\-help
+.B  \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
-.B \-\-critical
+.B  \-\-critical
 work on log level CRITICAL
 .TP
-.B \-\-error
+.B  \-\-error
 work on log level ERROR
 .TP
-.B \-\-warning
+.B  \-\-warning
 work on log level WARNING (default)
 .TP
-.B \-\-info\fP,\fB  \-v\fP,\fB  \-\-verbose
+.B  \-\-info\fP,\fB  \-v\fP,\fB  \-\-verbose
 work on log level INFO
 .TP
-.B \-\-debug
+.B  \-\-debug
 enable debug output, work on log level DEBUG
 .TP
 .BI \-\-debug\-topic \ TOPIC
 enable TOPIC debugging (can be specified multiple times). The logger path is borg.debug.<TOPIC> if TOPIC is not fully qualified.
 .TP
-.B \-p\fP,\fB  \-\-progress
+.B  \-p\fP,\fB  \-\-progress
 show progress information
 .TP
-.B \-\-iec
+.B  \-\-iec
 format using IEC units (1KiB = 1024B)
 .TP
-.B \-\-log\-json
+.B  \-\-log\-json
 Output one JSON object per log line instead of formatted text.
 .TP
 .BI \-\-lock\-wait \ SECONDS
 wait at most SECONDS for acquiring a repository/cache lock (default: 1).
 .TP
-.B \-\-bypass\-lock
+.B  \-\-bypass\-lock
 Bypass locking mechanism
 .TP
-.B \-\-show\-version
+.B  \-\-show\-version
 show/log the borg version
 .TP
-.B \-\-show\-rc
+.B  \-\-show\-rc
 show/log the return code (rc)
 .TP
 .BI \-\-umask \ M
@@ -93,7 +93,7 @@ deprecated, use \fB\-\-upload\-buffer\fP instead
 .BI \-\-upload\-buffer \ UPLOAD_BUFFER
 set network upload buffer size in MiB. (default: 0=no buffer)
 .TP
-.B \-\-consider\-part\-files
+.B  \-\-consider\-part\-files
 treat part files like normal files (e.g. to list/extract them)
 .TP
 .BI \-\-debug\-profile \ FILE

+ 4 - 4
docs/man/borg-compact.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-COMPACT 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-compact \- compact segment files in the repository
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-COMPACT" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-compact \- compact segment files in the repository
 .SH SYNOPSIS
 .sp
 borg [common options] compact [options] [REPOSITORY]
@@ -68,7 +68,7 @@ repository to compact
 .SS optional arguments
 .INDENT 0.0
 .TP
-.B \-\-cleanup\-commits
+.B  \-\-cleanup\-commits
 cleanup commit\-only 17\-byte segment files
 .TP
 .BI \-\-threshold \ PERCENT

+ 3 - 3
docs/man/borg-compression.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-COMPRESSION 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-compression \- Details regarding compression
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-COMPRESSION" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-compression \- Details regarding compression
 .SH DESCRIPTION
 .sp
 It is no problem to mix different compression methods in one repo,

+ 6 - 6
docs/man/borg-config.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-CONFIG 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-config \- get, set, and delete values in a repository or cache config file
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-CONFIG" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-config \- get, set, and delete values in a repository or cache config file
 .SH SYNOPSIS
 .sp
 borg [common options] config [options] [REPOSITORY] [NAME] [VALUE]
@@ -65,13 +65,13 @@ new value for key
 .SS optional arguments
 .INDENT 0.0
 .TP
-.B \-c\fP,\fB  \-\-cache
+.B  \-c\fP,\fB  \-\-cache
 get and set values from the repo cache
 .TP
-.B \-d\fP,\fB  \-\-delete
+.B  \-d\fP,\fB  \-\-delete
 delete the key from the config file
 .TP
-.B \-l\fP,\fB  \-\-list
+.B  \-l\fP,\fB  \-\-list
 list the configuration of the repo
 .UNINDENT
 .SH EXAMPLES

+ 28 - 28
docs/man/borg-create.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-CREATE 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-create \- Create new archive
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-CREATE" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-create \- Create new archive
 .SH SYNOPSIS
 .sp
 borg [common options] create [options] ARCHIVE [PATH...]
@@ -135,22 +135,22 @@ paths to archive
 .SS optional arguments
 .INDENT 0.0
 .TP
-.B \-n\fP,\fB  \-\-dry\-run
+.B  \-n\fP,\fB  \-\-dry\-run
 do not create a backup archive
 .TP
-.B \-s\fP,\fB  \-\-stats
+.B  \-s\fP,\fB  \-\-stats
 print statistics for the created archive
 .TP
-.B \-\-list
+.B  \-\-list
 output verbose list of items (files, dirs, ...)
 .TP
 .BI \-\-filter \ STATUSCHARS
 only display items with the given status characters (see description)
 .TP
-.B \-\-json
+.B  \-\-json
 output stats as JSON. Implies \fB\-\-stats\fP\&.
 .TP
-.B \-\-no\-cache\-sync
+.B  \-\-no\-cache\-sync
 experimental: do not synchronize the cache. Implies not using the files cache.
 .TP
 .BI \-\-stdin\-name \ NAME
@@ -160,18 +160,18 @@ use NAME in archive for stdin data (default: \(aqstdin\(aq)
 set user USER in archive for stdin data (default: \(aqroot\(aq)
 .TP
 .BI \-\-stdin\-group \ GROUP
-set group GROUP in archive for stdin data (default: \(aqroot\(aq)
+set group GROUP in archive for stdin data (default: \(aqwheel\(aq)
 .TP
 .BI \-\-stdin\-mode \ M
 set mode to M in archive for stdin data (default: 0660)
 .TP
-.B \-\-content\-from\-command
+.B  \-\-content\-from\-command
 interpret PATH as command and store its stdout. See also section Reading from stdin below.
 .TP
-.B \-\-paths\-from\-stdin
+.B  \-\-paths\-from\-stdin
 read DELIM\-separated list of paths to backup from stdin. Will not recurse into directories.
 .TP
-.B \-\-paths\-from\-command
+.B  \-\-paths\-from\-command
 interpret PATH as command and treat its output as \fB\-\-paths\-from\-stdin\fP
 .TP
 .BI \-\-paths\-delimiter \ DELIM
@@ -192,61 +192,61 @@ experimental: include/exclude paths matching PATTERN
 .BI \-\-patterns\-from \ PATTERNFILE
 experimental: read include/exclude patterns from PATTERNFILE, one per line
 .TP
-.B \-\-exclude\-caches
+.B  \-\-exclude\-caches
 exclude directories that contain a CACHEDIR.TAG file (\fI\%http://www.bford.info/cachedir/spec.html\fP)
 .TP
 .BI \-\-exclude\-if\-present \ NAME
 exclude directories that are tagged by containing a filesystem object with the given NAME
 .TP
-.B \-\-keep\-exclude\-tags
+.B  \-\-keep\-exclude\-tags
 if tag objects are specified with \fB\-\-exclude\-if\-present\fP, don\(aqt omit the tag objects themselves from the backup archive
 .TP
-.B \-\-exclude\-nodump
+.B  \-\-exclude\-nodump
 exclude files flagged NODUMP
 .UNINDENT
 .SS Filesystem options
 .INDENT 0.0
 .TP
-.B \-x\fP,\fB  \-\-one\-file\-system
+.B  \-x\fP,\fB  \-\-one\-file\-system
 stay in the same file system and do not store mount points of other file systems.  This might behave different from your expectations, see the docs.
 .TP
-.B \-\-numeric\-owner
+.B  \-\-numeric\-owner
 deprecated, use \fB\-\-numeric\-ids\fP instead
 .TP
-.B \-\-numeric\-ids
+.B  \-\-numeric\-ids
 only store numeric user and group identifiers
 .TP
-.B \-\-noatime
+.B  \-\-noatime
 do not store atime into archive
 .TP
-.B \-\-atime
+.B  \-\-atime
 do store atime into archive
 .TP
-.B \-\-noctime
+.B  \-\-noctime
 do not store ctime into archive
 .TP
-.B \-\-nobirthtime
+.B  \-\-nobirthtime
 do not store birthtime (creation date) into archive
 .TP
-.B \-\-nobsdflags
+.B  \-\-nobsdflags
 deprecated, use \fB\-\-noflags\fP instead
 .TP
-.B \-\-noflags
+.B  \-\-noflags
 do not read and store flags (e.g. NODUMP, IMMUTABLE) into archive
 .TP
-.B \-\-noacls
+.B  \-\-noacls
 do not read and store ACLs into archive
 .TP
-.B \-\-noxattrs
+.B  \-\-noxattrs
 do not read and store xattrs into archive
 .TP
-.B \-\-sparse
+.B  \-\-sparse
 detect sparse holes in input (supported only by fixed chunker)
 .TP
 .BI \-\-files\-cache \ MODE
 operate files cache in MODE. default: ctime,size,inode
 .TP
-.B \-\-read\-special
+.B  \-\-read\-special
 open and read block and char device files as well as FIFOs as if they were regular files. Also follows symlinks pointing to these kinds of files.
 .UNINDENT
 .SS Archive options

+ 10 - 10
docs/man/borg-delete.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-DELETE 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-delete \- Delete an existing repository or archives
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-DELETE" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-delete \- Delete an existing repository or archives
 .SH SYNOPSIS
 .sp
 borg [common options] delete [options] [REPOSITORY_OR_ARCHIVE] [ARCHIVE...]
@@ -76,25 +76,25 @@ archives to delete
 .SS optional arguments
 .INDENT 0.0
 .TP
-.B \-n\fP,\fB  \-\-dry\-run
+.B  \-n\fP,\fB  \-\-dry\-run
 do not change repository
 .TP
-.B \-\-list
+.B  \-\-list
 output verbose list of archives
 .TP
-.B \-s\fP,\fB  \-\-stats
+.B  \-s\fP,\fB  \-\-stats
 print statistics for the deleted archive
 .TP
-.B \-\-cache\-only
+.B  \-\-cache\-only
 delete only the local cache for the given repository
 .TP
-.B \-\-force
+.B  \-\-force
 force deletion of corrupted archives, use \fB\-\-force \-\-force\fP in case \fB\-\-force\fP does not work.
 .TP
-.B \-\-keep\-security\-info
+.B  \-\-keep\-security\-info
 keep the local security info when deleting a repository
 .TP
-.B \-\-save\-space
+.B  \-\-save\-space
 work slower, but using less space
 .UNINDENT
 .SS Archive filters

+ 8 - 8
docs/man/borg-diff.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-DIFF 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-diff \- Diff contents of two archives
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-DIFF" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-diff \- Diff contents of two archives
 .SH SYNOPSIS
 .sp
 borg [common options] diff [options] REPO::ARCHIVE1 ARCHIVE2 [PATH...]
@@ -69,19 +69,19 @@ paths of items inside the archives to compare; patterns are supported
 .SS optional arguments
 .INDENT 0.0
 .TP
-.B \-\-numeric\-owner
+.B  \-\-numeric\-owner
 deprecated, use \fB\-\-numeric\-ids\fP instead
 .TP
-.B \-\-numeric\-ids
+.B  \-\-numeric\-ids
 only consider numeric user and group identifiers
 .TP
-.B \-\-same\-chunker\-params
+.B  \-\-same\-chunker\-params
 Override check of chunker parameters.
 .TP
-.B \-\-sort
+.B  \-\-sort
 Sort the output lines by file path.
 .TP
-.B \-\-json\-lines
+.B  \-\-json\-lines
 Format output as JSON Lines.
 .UNINDENT
 .SS Exclusion options

+ 13 - 9
docs/man/borg-export-tar.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-EXPORT-TAR 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-export-tar \- Export archive contents as a tarball
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-EXPORT-TAR" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-export-tar \- Export archive contents as a tarball
 .SH SYNOPSIS
 .sp
 borg [common options] export\-tar [options] ARCHIVE FILE [PATH...]
@@ -44,14 +44,18 @@ based on its file extension and pipe the tarball through an appropriate filter
 before writing it to FILE:
 .INDENT 0.0
 .IP \(bu 2
-\&.tar.gz: gzip
+\&.tar.gz or .tgz: gzip
+.IP \(bu 2
+\&.tar.bz2 or .tbz: bzip2
+.IP \(bu 2
+\&.tar.xz or .txz: xz
 .IP \(bu 2
-\&.tar.bz2: bzip2
+\&.tar.zstd: zstd
 .IP \(bu 2
-\&.tar.xz: xz
+\&.tar.lz4: lz4
 .UNINDENT
 .sp
-Alternatively a \fB\-\-tar\-filter\fP program may be explicitly specified. It should
+Alternatively, a \fB\-\-tar\-filter\fP program may be explicitly specified. It should
 read the uncompressed tar stream from stdin and write a compressed/filtered
 tar stream to stdout.
 .sp
@@ -90,10 +94,10 @@ paths to extract; patterns are supported
 .SS optional arguments
 .INDENT 0.0
 .TP
-.B \-\-tar\-filter
+.B  \-\-tar\-filter
 filter program to pipe data through
 .TP
-.B \-\-list
+.B  \-\-list
 output verbose list of items (files, dirs, ...)
 .UNINDENT
 .SS Exclusion options

+ 13 - 13
docs/man/borg-extract.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-EXTRACT 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-extract \- Extract archive contents
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-EXTRACT" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-extract \- Extract archive contents
 .SH SYNOPSIS
 .sp
 borg [common options] extract [options] ARCHIVE [PATH...]
@@ -71,34 +71,34 @@ paths to extract; patterns are supported
 .SS optional arguments
 .INDENT 0.0
 .TP
-.B \-\-list
+.B  \-\-list
 output verbose list of items (files, dirs, ...)
 .TP
-.B \-n\fP,\fB  \-\-dry\-run
+.B  \-n\fP,\fB  \-\-dry\-run
 do not actually change any files
 .TP
-.B \-\-numeric\-owner
+.B  \-\-numeric\-owner
 deprecated, use \fB\-\-numeric\-ids\fP instead
 .TP
-.B \-\-numeric\-ids
+.B  \-\-numeric\-ids
 only obey numeric user and group identifiers
 .TP
-.B \-\-nobsdflags
+.B  \-\-nobsdflags
 deprecated, use \fB\-\-noflags\fP instead
 .TP
-.B \-\-noflags
+.B  \-\-noflags
 do not extract/set flags (e.g. NODUMP, IMMUTABLE)
 .TP
-.B \-\-noacls
+.B  \-\-noacls
 do not extract/set ACLs
 .TP
-.B \-\-noxattrs
+.B  \-\-noxattrs
 do not extract/set xattrs
 .TP
-.B \-\-stdout
+.B  \-\-stdout
 write all extracted data to stdout
 .TP
-.B \-\-sparse
+.B  \-\-sparse
 create holes in output sparse file from all\-zero chunks
 .UNINDENT
 .SS Exclusion options

+ 127 - 0
docs/man/borg-import-tar.1

@@ -0,0 +1,127 @@
+.\" 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
+..
+.TH "BORG-IMPORT-TAR" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-import-tar \- Create a backup archive from a tarball
+.SH SYNOPSIS
+.sp
+borg [common options] import\-tar [options] ARCHIVE TARFILE
+.SH DESCRIPTION
+.sp
+This command creates a backup archive from a tarball.
+.sp
+When giving \(aq\-\(aq as path, Borg will read a tar stream from standard input.
+.sp
+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:
+.INDENT 0.0
+.IP \(bu 2
+\&.tar.gz or .tgz: gzip \-d
+.IP \(bu 2
+\&.tar.bz2 or .tbz: bzip2 \-d
+.IP \(bu 2
+\&.tar.xz or .txz: xz \-d
+.IP \(bu 2
+\&.tar.zstd: zstd \-d
+.IP \(bu 2
+\&.tar.lz4: lz4 \-d
+.UNINDENT
+.sp
+Alternatively, a \-\-tar\-filter program may be explicitly specified. It should
+read compressed data from stdin and output an uncompressed tar stream on
+stdout.
+.sp
+Most documentation of borg create applies. Note that this command does not
+support excluding files.
+.sp
+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.
+.sp
+A \fB\-\-sparse\fP option (as found in borg create) is not supported.
+.sp
+import\-tar reads POSIX.1\-1988 (ustar), POSIX.1\-2001 (pax), GNU tar, UNIX V7 tar
+and SunOS tar with extended attributes.
+.SH OPTIONS
+.sp
+See \fIborg\-common(1)\fP for common options of Borg commands.
+.SS arguments
+.INDENT 0.0
+.TP
+.B ARCHIVE
+name of archive to create (must be also a valid directory name)
+.TP
+.B TARFILE
+input tar file. "\-" to read from stdin instead.
+.UNINDENT
+.SS optional arguments
+.INDENT 0.0
+.TP
+.B  \-\-tar\-filter
+filter program to pipe data through
+.TP
+.B  \-s\fP,\fB  \-\-stats
+print statistics for the created archive
+.TP
+.B  \-\-list
+output verbose list of items (files, dirs, ...)
+.TP
+.BI \-\-filter \ STATUSCHARS
+only display items with the given status characters
+.TP
+.B  \-\-json
+output stats as JSON (implies \-\-stats)
+.UNINDENT
+.SS Archive options
+.INDENT 0.0
+.TP
+.BI \-\-comment \ COMMENT
+add a comment text to the archive
+.TP
+.BI \-\-timestamp \ TIMESTAMP
+manually specify the archive creation date/time (UTC, yyyy\-mm\-ddThh:mm:ss format). alternatively, give a reference file/directory.
+.TP
+.BI \-c \ SECONDS\fR,\fB \ \-\-checkpoint\-interval \ SECONDS
+write checkpoint every SECONDS seconds (Default: 1800)
+.TP
+.BI \-\-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
+.TP
+.BI \-C \ COMPRESSION\fR,\fB \ \-\-compression \ COMPRESSION
+select compression algorithm, see the output of the "borg help compression" command for details.
+.UNINDENT
+.SH SEE ALSO
+.sp
+\fIborg\-common(1)\fP
+.SH AUTHOR
+The Borg Collective
+.\" Generated by docutils manpage writer.
+.

+ 4 - 4
docs/man/borg-info.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-INFO 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-info \- Show archive details such as disk space used
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-INFO" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-info \- Show archive details such as disk space used
 .SH SYNOPSIS
 .sp
 borg [common options] info [options] [REPOSITORY_OR_ARCHIVE]
@@ -62,7 +62,7 @@ repository or archive to display information about
 .SS optional arguments
 .INDENT 0.0
 .TP
-.B \-\-json
+.B  \-\-json
 format output as JSON
 .UNINDENT
 .SS Archive filters

+ 5 - 5
docs/man/borg-init.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-INIT 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-init \- Initialize an empty repository
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-INIT" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-init \- Initialize an empty repository
 .SH SYNOPSIS
 .sp
 borg [common options] init [options] [REPOSITORY]
@@ -192,13 +192,13 @@ repository to create
 .BI \-e \ MODE\fR,\fB \ \-\-encryption \ MODE
 select encryption key mode \fB(required)\fP
 .TP
-.B \-\-append\-only
+.B  \-\-append\-only
 create an append\-only mode repository. Note that this only affects the low level structure of the repository, and running \fIdelete\fP or \fIprune\fP will still be allowed. See \fIappend_only_mode\fP in Additional Notes for more details.
 .TP
 .BI \-\-storage\-quota \ QUOTA
 Set storage quota of the new repository (e.g. 5G, 1.5T). Default: no quota.
 .TP
-.B \-\-make\-parent\-dirs
+.B  \-\-make\-parent\-dirs
 create the parent directories of the repository directory, if they are missing.
 .UNINDENT
 .SH EXAMPLES

+ 3 - 3
docs/man/borg-key-change-passphrase.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-KEY-CHANGE-PASSPHRASE 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-key-change-passphrase \- Change repository key file passphrase
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-KEY-CHANGE-PASSPHRASE" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-key-change-passphrase \- Change repository key file passphrase
 .SH SYNOPSIS
 .sp
 borg [common options] key change\-passphrase [options] [REPOSITORY]

+ 5 - 5
docs/man/borg-key-export.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-KEY-EXPORT 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-key-export \- Export the repository key for backup
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-KEY-EXPORT" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-key-export \- Export the repository key for backup
 .SH SYNOPSIS
 .sp
 borg [common options] key export [options] [REPOSITORY] [PATH]
@@ -70,10 +70,10 @@ where to store the backup
 .SS optional arguments
 .INDENT 0.0
 .TP
-.B \-\-paper
+.B  \-\-paper
 Create an export suitable for printing and later type\-in
 .TP
-.B \-\-qr\-html
+.B  \-\-qr\-html
 Create an html file suitable for printing and later type\-in or qr scan
 .UNINDENT
 .SH SEE ALSO

+ 4 - 4
docs/man/borg-key-import.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-KEY-IMPORT 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-key-import \- Import the repository key from backup
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-KEY-IMPORT" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-key-import \- Import the repository key from backup
 .SH SYNOPSIS
 .sp
 borg [common options] key import [options] [REPOSITORY] [PATH]
@@ -63,7 +63,7 @@ path to the backup (\(aq\-\(aq to read from stdin)
 .SS optional arguments
 .INDENT 0.0
 .TP
-.B \-\-paper
+.B  \-\-paper
 interactively import from a backup done with \fB\-\-paper\fP
 .UNINDENT
 .SH SEE ALSO

+ 3 - 3
docs/man/borg-key-migrate-to-repokey.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-KEY-MIGRATE-TO-REPOKEY 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-key-migrate-to-repokey \- Migrate passphrase -> repokey
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-KEY-MIGRATE-TO-REPOKEY" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-key-migrate-to-repokey \- Migrate passphrase -> repokey
 .SH SYNOPSIS
 .sp
 borg [common options] key migrate\-to\-repokey [options] [REPOSITORY]

+ 3 - 3
docs/man/borg-key.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-KEY 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-key \- Manage a keyfile or repokey of a repository
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-KEY" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-key \- Manage a keyfile or repokey of a repository
 .SH SYNOPSIS
 .nf
 borg [common options] key export ...

+ 58 - 17
docs/man/borg-list.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-LIST 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-list \- List archive or repository contents
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-LIST" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-list \- List archive or repository contents
 .SH SYNOPSIS
 .sp
 borg [common options] list [options] [REPOSITORY_OR_ARCHIVE] [PATH...]
@@ -53,19 +53,19 @@ paths to list; patterns are supported
 .SS optional arguments
 .INDENT 0.0
 .TP
-.B \-\-consider\-checkpoints
+.B  \-\-consider\-checkpoints
 Show checkpoint archives in the repository contents list (default: hidden).
 .TP
-.B \-\-short
+.B  \-\-short
 only print file/directory names, nothing else
 .TP
-.BI \-\-format \ FORMAT\fR,\fB \ \-\-list\-format \ FORMAT
-specify format for file listing (default: "{mode} {user:6} {group:6} {size:8d} {mtime} {path}{extra}{NL}")
+.BI \-\-format \ FORMAT
+specify format for file or archive listing (default for files: "{mode} {user:6} {group:6} {size:8} {mtime} {path}{extra}{NL}"; for archives: "{archive:<36} {time} [{id}]{NL}")
 .TP
-.B \-\-json
+.B  \-\-json
 Only valid for listing repository contents. Format output as JSON. The form of \fB\-\-format\fP is ignored, but keys used in it are added to the JSON output. Some keys are always present. Note: JSON can only represent text. A "barchive" key is therefore not available.
 .TP
-.B \-\-json\-lines
+.B  \-\-json\-lines
 Only valid for listing archive contents. Format output as JSON Lines. The form of \fB\-\-format\fP is ignored, but keys used in it are added to the JSON output. Some keys are always present. Note: JSON can only represent text. A "bpath" key is therefore not available.
 .UNINDENT
 .SS Archive filters
@@ -134,21 +134,64 @@ drwxrwxr\-x user   user          0 Sun, 2015\-02\-01 11:00:00 .
 drwxrwxr\-x user   user          0 Sun, 2015\-02\-01 11:00:00 code
 drwxrwxr\-x user   user          0 Sun, 2015\-02\-01 11:00:00 code/myproject
 \-rw\-rw\-r\-\- user   user    1416192 Sun, 2015\-02\-01 11:00:00 code/myproject/file.ext
+\-rw\-rw\-r\-\- user   user    1416192 Sun, 2015\-02\-01 11:00:00 code/myproject/file.text
+\&...
+
+$ borg list /path/to/repo/::archiveA \-\-pattern \(aqre:\e.ext$\(aq
+\-rw\-rw\-r\-\- user   user    1416192 Sun, 2015\-02\-01 11:00:00 code/myproject/file.ext
+\&...
+
+$ borg list /path/to/repo/::archiveA \-\-pattern \(aqre:.ext$\(aq
+\-rw\-rw\-r\-\- user   user    1416192 Sun, 2015\-02\-01 11:00:00 code/myproject/file.ext
+\-rw\-rw\-r\-\- user   user    1416192 Sun, 2015\-02\-01 11:00:00 code/myproject/file.text
 \&...
 .ft P
 .fi
 .UNINDENT
 .UNINDENT
 .SH NOTES
+.SS The FORMAT specifier syntax
 .sp
-The following keys are available for \fB\-\-format\fP:
+The \fB\-\-format\fP option uses python\(aqs \fI\%format string syntax\fP\&.
+.sp
+Examples:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ borg list \-\-format \(aq{archive}{NL}\(aq /path/to/repo
+ArchiveFoo
+ArchiveBar
+\&...
+
+# {VAR:NUMBER} \- pad to NUMBER columns.
+# Strings are left\-aligned, numbers are right\-aligned.
+# Note: time columns except \(ga\(gaisomtime\(ga\(ga, \(ga\(gaisoctime\(ga\(ga and \(ga\(gaisoatime\(ga\(ga cannot be padded.
+$ borg list \-\-format \(aq{archive:36} {time} [{id}]{NL}\(aq /path/to/repo
+ArchiveFoo                           Thu, 2021\-12\-09 10:22:28 [0b8e9a312bef3f2f6e2d0fc110c196827786c15eba0188738e81697a7fa3b274]
+$ borg list \-\-format \(aq{mode} {user:6} {group:6} {size:8} {mtime} {path}{extra}{NL}\(aq /path/to/repo::ArchiveFoo
+\-rw\-rw\-r\-\- user   user       1024 Thu, 2021\-12\-09 10:22:17 file\-foo
+\&...
+
+# {VAR:<NUMBER} \- pad to NUMBER columns left\-aligned.
+# {VAR:>NUMBER} \- pad to NUMBER columns right\-aligned.
+$ borg list \-\-format \(aq{mode} {user:>6} {group:>6} {size:<8} {mtime} {path}{extra}{NL}\(aq /path/to/repo::ArchiveFoo
+\-rw\-rw\-r\-\-   user   user 1024     Thu, 2021\-12\-09 10:22:17 file\-foo
+\&...
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The following keys are always available:
 .INDENT 0.0
 .IP \(bu 2
 NEWLINE: OS dependent line separator
 .IP \(bu 2
 NL: alias of NEWLINE
 .IP \(bu 2
-NUL: NUL character for creating print0 / xargs \-0 like output, see barchive/bpath
+NUL: NUL character for creating print0 / xargs \-0 like output, see barchive and bpath keys below
 .IP \(bu 2
 SPACE
 .IP \(bu 2
@@ -159,7 +202,7 @@ CR
 LF
 .UNINDENT
 .sp
-Keys for listing repository archives:
+Keys available only when listing archives in a repository:
 .INDENT 0.0
 .IP \(bu 2
 archive: archive name interpreted as text (might be missing non\-text characters, see barchive)
@@ -180,12 +223,14 @@ time: alias of "start"
 .IP \(bu 2
 end: time (end) of creation of the archive
 .IP \(bu 2
+command_line: command line which was used to create the archive
+.IP \(bu 2
 hostname: hostname of host on which this archive was created
 .IP \(bu 2
 username: username of user who created this archive
 .UNINDENT
 .sp
-Keys for listing archive files:
+Keys available only when listing files in an archive:
 .INDENT 0.0
 .IP \(bu 2
 type
@@ -258,10 +303,6 @@ sha3_512
 .IP \(bu 2
 sha512
 .IP \(bu 2
-shake_128
-.IP \(bu 2
-shake_256
-.IP \(bu 2
 xxh64: XXH64 checksum of this file (note: this is NOT a cryptographic hash!)
 .IP \(bu 2
 archiveid

+ 25 - 8
docs/man/borg-mount.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-MOUNT 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-mount \- Mount archive or an entire repository as a FUSE filesystem
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-MOUNT" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-mount \- Mount archive or an entire repository as a FUSE filesystem
 .SH SYNOPSIS
 .sp
 borg [common options] mount [options] REPOSITORY_OR_ARCHIVE MOUNTPOINT [PATH...]
@@ -49,6 +49,23 @@ To allow a regular user to use fstab entries, add the \fBuser\fP option:
 .sp
 For FUSE configuration and mount options, see the mount.fuse(8) manual page.
 .sp
+Borg\(aqs default behavior is to use the archived user and group names of each
+file and map them to the system\(aqs respective user and group ids.
+Alternatively, using \fBnumeric\-ids\fP will instead use the archived user and
+group ids without any mapping.
+.sp
+The \fBuid\fP and \fBgid\fP mount options (implemented by Borg) can be used to
+override the user and group ids of all files (i.e., \fBborg mount \-o
+uid=1000,gid=1000\fP).
+.sp
+The man page references \fBuser_id\fP and \fBgroup_id\fP mount options
+(implemented by fuse) which specify the user and group id of the mount owner
+(aka, the user who does the mounting). It is set automatically by libfuse (or
+the filesystem if libfuse is not used). However, you should not specify these
+manually. Unlike the \fBuid\fP and \fBgid\fP mount options which affect all files,
+\fBuser_id\fP and \fBgroup_id\fP affect the user and group id of the mounted
+(base) directory.
+.sp
 Additional mount options supported by borg:
 .INDENT 0.0
 .IP \(bu 2
@@ -93,19 +110,19 @@ paths to extract; patterns are supported
 .SS optional arguments
 .INDENT 0.0
 .TP
-.B \-\-consider\-checkpoints
+.B  \-\-consider\-checkpoints
 Show checkpoint archives in the repository contents list (default: hidden).
 .TP
-.B \-f\fP,\fB  \-\-foreground
+.B  \-f\fP,\fB  \-\-foreground
 stay in foreground, do not daemonize
 .TP
-.B \-o
+.B  \-o
 Extra mount options
 .TP
-.B \-\-numeric\-owner
+.B  \-\-numeric\-owner
 deprecated, use \fB\-\-numeric\-ids\fP instead
 .TP
-.B \-\-numeric\-ids
+.B  \-\-numeric\-ids
 use numeric user and group identifiers from archive(s)
 .UNINDENT
 .SS Archive filters

+ 8 - 6
docs/man/borg-patterns.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-PATTERNS 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-patterns \- Details regarding patterns
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-PATTERNS" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-patterns \- Details regarding patterns
 .SH DESCRIPTION
 .sp
 The path/filenames used as input for the pattern matching start from the
@@ -49,7 +49,9 @@ store all files as \fIsome/path/.../file.ext\fP and \fBborg create
 File patterns support these styles: fnmatch, shell, regular expressions,
 path prefixes and path full\-matches. By default, fnmatch is used for
 \fB\-\-exclude\fP patterns and shell\-style is used for the experimental
-\fB\-\-pattern\fP option.
+\fB\-\-pattern\fP option. For commands that support patterns in their
+\fBPATH\fP argument like (\fBborg list\fP), the default pattern is path
+prefix.
 .sp
 Starting with Borg 1.2, for all but regular expression pattern matching
 styles, all paths are treated as relative, meaning that a leading path
@@ -171,8 +173,8 @@ $ cat >exclude.txt <<EOF
 /home/*/junk
 *.tmp
 fm:aa:something/*
-re:^home/[^/]\e.tmp/
-sh:home/*/.thumbnails
+re:^/home/[^/]+\e.tmp/
+sh:/home/*/.thumbnails
 # Example with spaces, no need to escape as it is processed by borg
 some file with spaces.txt
 EOF

+ 3 - 3
docs/man/borg-placeholders.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-PLACEHOLDERS 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-placeholders \- Details regarding placeholders
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-PLACEHOLDERS" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-placeholders \- Details regarding placeholders
 .SH DESCRIPTION
 .sp
 Repository (or Archive) URLs, \fB\-\-prefix\fP, \fB\-\-glob\-archives\fP, \fB\-\-comment\fP

+ 18 - 16
docs/man/borg-prune.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-PRUNE 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-prune \- Prune repository archives according to specified rules
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-PRUNE" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-prune \- Prune repository archives according to specified rules
 .SH SYNOPSIS
 .sp
 borg [common options] prune [options] [REPOSITORY]
@@ -41,7 +41,9 @@ any of the specified retention options.
 Important: Repository disk space is \fBnot\fP freed until you run \fBborg compact\fP\&.
 .sp
 This command is normally used by automated backup scripts wanting to keep a
-certain number of historic backups.
+certain number of historic backups. This retention policy is commonly referred to as
+\fI\%GFS\fP
+(Grandfather\-father\-son) backup rotation scheme.
 .sp
 Also, prune automatically removes checkpoint archives (incomplete archives left
 behind by interrupted backup runs) except if the checkpoint is the latest
@@ -98,43 +100,43 @@ repository to prune
 .SS optional arguments
 .INDENT 0.0
 .TP
-.B \-n\fP,\fB  \-\-dry\-run
+.B  \-n\fP,\fB  \-\-dry\-run
 do not change repository
 .TP
-.B \-\-force
+.B  \-\-force
 force pruning of corrupted archives, use \fB\-\-force \-\-force\fP in case \fB\-\-force\fP does not work.
 .TP
-.B \-s\fP,\fB  \-\-stats
+.B  \-s\fP,\fB  \-\-stats
 print statistics for the deleted archive
 .TP
-.B \-\-list
+.B  \-\-list
 output verbose list of archives it keeps/prunes
 .TP
 .BI \-\-keep\-within \ INTERVAL
 keep all archives within this time interval
 .TP
-.B \-\-keep\-last\fP,\fB  \-\-keep\-secondly
+.B  \-\-keep\-last\fP,\fB  \-\-keep\-secondly
 number of secondly archives to keep
 .TP
-.B \-\-keep\-minutely
+.B  \-\-keep\-minutely
 number of minutely archives to keep
 .TP
-.B \-H\fP,\fB  \-\-keep\-hourly
+.B  \-H\fP,\fB  \-\-keep\-hourly
 number of hourly archives to keep
 .TP
-.B \-d\fP,\fB  \-\-keep\-daily
+.B  \-d\fP,\fB  \-\-keep\-daily
 number of daily archives to keep
 .TP
-.B \-w\fP,\fB  \-\-keep\-weekly
+.B  \-w\fP,\fB  \-\-keep\-weekly
 number of weekly archives to keep
 .TP
-.B \-m\fP,\fB  \-\-keep\-monthly
+.B  \-m\fP,\fB  \-\-keep\-monthly
 number of monthly archives to keep
 .TP
-.B \-y\fP,\fB  \-\-keep\-yearly
+.B  \-y\fP,\fB  \-\-keep\-yearly
 number of yearly archives to keep
 .TP
-.B \-\-save\-space
+.B  \-\-save\-space
 work slower, but using less space
 .UNINDENT
 .SS Archive filters

+ 8 - 8
docs/man/borg-recreate.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-RECREATE 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-recreate \- Re-create archives
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-RECREATE" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-recreate \- Re-create archives
 .SH SYNOPSIS
 .sp
 borg [common options] recreate [options] [REPOSITORY_OR_ARCHIVE] [PATH...]
@@ -100,16 +100,16 @@ paths to recreate; patterns are supported
 .SS optional arguments
 .INDENT 0.0
 .TP
-.B \-\-list
+.B  \-\-list
 output verbose list of items (files, dirs, ...)
 .TP
 .BI \-\-filter \ STATUSCHARS
 only display items with the given status characters (listed in borg create \-\-help)
 .TP
-.B \-n\fP,\fB  \-\-dry\-run
+.B  \-n\fP,\fB  \-\-dry\-run
 do not change anything
 .TP
-.B \-s\fP,\fB  \-\-stats
+.B  \-s\fP,\fB  \-\-stats
 print statistics at end
 .UNINDENT
 .SS Exclusion options
@@ -127,13 +127,13 @@ experimental: include/exclude paths matching PATTERN
 .BI \-\-patterns\-from \ PATTERNFILE
 experimental: read include/exclude patterns from PATTERNFILE, one per line
 .TP
-.B \-\-exclude\-caches
+.B  \-\-exclude\-caches
 exclude directories that contain a CACHEDIR.TAG file (\fI\%http://www.bford.info/cachedir/spec.html\fP)
 .TP
 .BI \-\-exclude\-if\-present \ NAME
 exclude directories that are tagged by containing a filesystem object with the given NAME
 .TP
-.B \-\-keep\-exclude\-tags
+.B  \-\-keep\-exclude\-tags
 if tag objects are specified with \fB\-\-exclude\-if\-present\fP, don\(aqt omit the tag objects themselves from the backup archive
 .UNINDENT
 .SS Archive options

+ 3 - 3
docs/man/borg-rename.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-RENAME 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-rename \- Rename an existing archive
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-RENAME" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-rename \- Rename an existing archive
 .SH SYNOPSIS
 .sp
 borg [common options] rename [options] ARCHIVE NEWNAME

+ 19 - 12
docs/man/borg-serve.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-SERVE 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-serve \- Start in server mode. This command is usually not used manually.
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-SERVE" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-serve \- Start in server mode. This command is usually not used manually.
 .SH SYNOPSIS
 .sp
 borg [common options] serve [options]
@@ -48,7 +48,7 @@ restrict repository access to PATH. Can be specified multiple times to allow the
 .BI \-\-restrict\-to\-repository \ PATH
 restrict repository access. Only the repository located at PATH (no sub\-directories are considered) is accessible. Can be specified multiple times to allow the client access to several repositories. Unlike \fB\-\-restrict\-to\-path\fP sub\-directories are not accessible; PATH needs to directly point at a repository location. PATH may be an empty directory or the last element of PATH may not exist, in which case the client may initialize a repository there.
 .TP
-.B \-\-append\-only
+.B  \-\-append\-only
 only allow appending to repository segment files. Note that this only affects the low level structure of the repository, and running \fIdelete\fP or \fIprune\fP will still be allowed. See \fIappend_only_mode\fP in Additional Notes for more details.
 .TP
 .BI \-\-storage\-quota \ QUOTA
@@ -56,14 +56,19 @@ Override storage quota of the repository (e.g. 5G, 1.5T). When a new repository
 .UNINDENT
 .SH EXAMPLES
 .sp
-borg serve has special support for ssh forced commands (see \fBauthorized_keys\fP
-example below): it will detect that you use such a forced command and extract
-the value of the \fB\-\-restrict\-to\-path\fP option(s).
-.sp
-It will then parse the original command that came from the client, makes sure
-that it is also \fBborg serve\fP and enforce path restriction(s) as given by the
-forced command. That way, other options given by the client (like \fB\-\-info\fP or
-\fB\-\-umask\fP) are preserved (and are not fixed by the forced command).
+\fBborg serve\fP has special support for ssh forced commands (see \fBauthorized_keys\fP
+example below): if the environment variable SSH_ORIGINAL_COMMAND is set it will
+ignore some options given on the command line and use the values from the
+variable instead. This only applies to a carefully controlled allowlist of safe
+options. This list currently contains:
+.INDENT 0.0
+.IP \(bu 2
+Options that control the log level and debug topics printed
+such as \fB\-\-verbose\fP, \fB\-\-info\fP, \fB\-\-debug\fP, \fB\-\-debug\-topic\fP, etc.
+.IP \(bu 2
+\fB\-\-lock\-wait\fP to allow the client to control how long to wait before
+giving up and aborting the operation when another process is holding a lock.
+.UNINDENT
 .sp
 Environment variables (such as BORG_XXX) contained in the original
 command sent by the client are \fInot\fP interpreted, but ignored. If BORG_XXX environment
@@ -102,6 +107,8 @@ has been introduced in v7.2. We recommend to use
 in this case.
 .UNINDENT
 .UNINDENT
+.sp
+Details about sshd usage: \fI\%sshd(8)\fP
 .SS SSH Configuration
 .sp
 \fBborg serve\fP\(aqs pipes (\fBstdin\fP/\fBstdout\fP/\fBstderr\fP) are connected to the \fBsshd\fP process on the server side. In the event that the SSH connection between \fBborg serve\fP and the client is disconnected or stuck abnormally (for example, due to a network outage), it can take a long time for \fBsshd\fP to notice the client is disconnected. In the meantime, \fBsshd\fP continues running, and as a result so does the \fBborg serve\fP process holding the lock on the repository. This can cause subsequent \fBborg\fP operations on the remote repository to fail with the error: \fBFailed to create/acquire the lock\fP\&.

+ 3 - 3
docs/man/borg-umount.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-UMOUNT 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-umount \- un-mount the FUSE filesystem
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-UMOUNT" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-umount \- un-mount the FUSE filesystem
 .SH SYNOPSIS
 .sp
 borg [common options] umount [options] MOUNTPOINT

+ 8 - 8
docs/man/borg-upgrade.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-UPGRADE 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-upgrade \- upgrade a repository from a previous version
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-UPGRADE" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-upgrade \- upgrade a repository from a previous version
 .SH SYNOPSIS
 .sp
 borg [common options] upgrade [options] [REPOSITORY]
@@ -134,19 +134,19 @@ path to the repository to be upgraded
 .SS optional arguments
 .INDENT 0.0
 .TP
-.B \-n\fP,\fB  \-\-dry\-run
+.B  \-n\fP,\fB  \-\-dry\-run
 do not change repository
 .TP
-.B \-\-inplace
+.B  \-\-inplace
 rewrite repository in place, with no chance of going back to older versions of the repository.
 .TP
-.B \-\-force
+.B  \-\-force
 Force upgrade
 .TP
-.B \-\-tam
+.B  \-\-tam
 Enable manifest authentication (in key and cache) (Borg 1.0.9 and later).
 .TP
-.B \-\-disable\-tam
+.B  \-\-disable\-tam
 Disable manifest authentication (in key and cache).
 .UNINDENT
 .SH EXAMPLES

+ 3 - 3
docs/man/borg-with-lock.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-WITH-LOCK 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg-with-lock \- run a user specified command with the repository lock held
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG-WITH-LOCK" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg-with-lock \- run a user specified command with the repository lock held
 .SH SYNOPSIS
 .sp
 borg [common options] with\-lock [options] REPOSITORY COMMAND [ARGS...]

+ 19 - 9
docs/man/borg.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borg \- deduplicating and encrypting backup tool
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORG" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borg \- deduplicating and encrypting backup tool
 .SH SYNOPSIS
 .sp
 borg [common options] <command> [options] [arguments]
@@ -415,11 +415,6 @@ Main usecase for this is to fully automate \fBborg change\-passphrase\fP\&.
 .B BORG_DISPLAY_PASSPHRASE
 When set, use the value to answer the "display the passphrase for verification" question when defining a new passphrase for encrypted repositories.
 .TP
-.B BORG_HOSTNAME_IS_UNIQUE=no
-Borg assumes that it can derive a unique hostname / identity (see \fBborg debug info\fP).
-If this is not the case or you do not want Borg to automatically remove stale locks,
-set this to \fIno\fP\&.
-.TP
 .B BORG_HOST_ID
 Borg usually computes a host id from the FQDN plus the results of \fBuuid.getnode()\fP (which usually returns
 a unique id based on the MAC address of the network interface. Except if that MAC happens to be all\-zero \- in
@@ -473,6 +468,15 @@ given order, e.g.:
 \fBnone\fP: do not try to load an implementation
 .UNINDENT
 .TP
+.B BORG_SELFTEST
+This can be used to influence borg\(aqs builtin self\-tests. The default is to execute the tests
+at the beginning of each borg command invocation.
+.sp
+BORG_SELFTEST=disabled can be used to switch off the tests and rather save some time.
+Disabling is not recommended for normal borg users, but large scale borg storage providers can
+use this to optimize production servers after at least doing a one\-time test borg (with
+selftests not disabled) when installing or upgrading machines / OS / borg.
+.TP
 .B BORG_WORKAROUNDS
 A list of comma separated strings that trigger workarounds in borg,
 e.g. to work around bugs in other software.
@@ -486,6 +490,11 @@ You might need this to run borg on WSL (Windows Subsystem for Linux) or
 in systemd.nspawn containers on some architectures (e.g. ARM).
 Using this does not affect data safety, but might result in a more bursty
 write to disk behaviour (not continuously streaming to disk).
+.TP
+.B retry_erofs
+Retry opening a file without O_NOATIME if opening a file with O_NOATIME
+caused EROFS. You will need this to make archives from volume shadow copies
+in WSL1 (Windows Subsystem for Linux 1).
 .UNINDENT
 .UNINDENT
 .TP
@@ -593,7 +602,8 @@ know a list of affected hardware.
 If you are suspicious whether your Borg repository is still consistent
 and readable after one of the failures mentioned above occurred, run
 \fBborg check \-\-verify\-data\fP to make sure it is consistent.
-Requirements for Borg repository file systems.INDENT 0.0
+Requirements for Borg repository file systems
+.INDENT 0.0
 .IP \(bu 2
 Long file names
 .IP \(bu 2

+ 26 - 9
docs/man/borgfs.1

@@ -1,8 +1,5 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORGFS 1 "2021-05-11" "" "borg backup tool"
-.SH NAME
-borgfs \- Mount archive or an entire repository as a FUSE filesystem
 .
 .nr rst2man-indent-level 0
 .
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
+.TH "BORGFS" 1 "2022-01-23" "" "borg backup tool"
+.SH NAME
+borgfs \- Mount archive or an entire repository as a FUSE filesystem
 .SH SYNOPSIS
 .sp
 borgfs [options] REPOSITORY_OR_ARCHIVE MOUNTPOINT [PATH...]
@@ -49,6 +49,23 @@ To allow a regular user to use fstab entries, add the \fBuser\fP option:
 .sp
 For FUSE configuration and mount options, see the mount.fuse(8) manual page.
 .sp
+Borg\(aqs default behavior is to use the archived user and group names of each
+file and map them to the system\(aqs respective user and group ids.
+Alternatively, using \fBnumeric\-ids\fP will instead use the archived user and
+group ids without any mapping.
+.sp
+The \fBuid\fP and \fBgid\fP mount options (implemented by Borg) can be used to
+override the user and group ids of all files (i.e., \fBborg mount \-o
+uid=1000,gid=1000\fP).
+.sp
+The man page references \fBuser_id\fP and \fBgroup_id\fP mount options
+(implemented by fuse) which specify the user and group id of the mount owner
+(aka, the user who does the mounting). It is set automatically by libfuse (or
+the filesystem if libfuse is not used). However, you should not specify these
+manually. Unlike the \fBuid\fP and \fBgid\fP mount options which affect all files,
+\fBuser_id\fP and \fBgroup_id\fP affect the user and group id of the mounted
+(base) directory.
+.sp
 Additional mount options supported by borg:
 .INDENT 0.0
 .IP \(bu 2
@@ -93,22 +110,22 @@ paths to extract; patterns are supported
 .SS optional arguments
 .INDENT 0.0
 .TP
-.B \-V\fP,\fB  \-\-version
+.B  \-V\fP,\fB  \-\-version
 show version number and exit
 .TP
-.B \-\-consider\-checkpoints
+.B  \-\-consider\-checkpoints
 Show checkpoint archives in the repository contents list (default: hidden).
 .TP
-.B \-f\fP,\fB  \-\-foreground
+.B  \-f\fP,\fB  \-\-foreground
 stay in foreground, do not daemonize
 .TP
-.B \-o
+.B  \-o
 Extra mount options
 .TP
-.B \-\-numeric\-owner
+.B  \-\-numeric\-owner
 deprecated, use \fB\-\-numeric\-ids\fP instead
 .TP
-.B \-\-numeric\-ids
+.B  \-\-numeric\-ids
 use numeric user and group identifiers from archive(s)
 .UNINDENT
 .SS Archive filters