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-02-19 17:48:13 +00:00
|
|
|
.TH "BORG-DIFF" 1 "2022-02-19" "" "borg backup tool"
|
2022-01-23 14:53:42 +00:00
|
|
|
.SH NAME
|
|
|
|
borg-diff \- Diff contents of two archives
|
2017-02-05 13:22:06 +00:00
|
|
|
.SH SYNOPSIS
|
|
|
|
.sp
|
2019-02-24 19:40:07 +00:00
|
|
|
borg [common options] diff [options] REPO::ARCHIVE1 ARCHIVE2 [PATH...]
|
2017-02-05 13:22:06 +00:00
|
|
|
.SH DESCRIPTION
|
|
|
|
.sp
|
|
|
|
This command finds differences (file contents, user/group/mode) between archives.
|
|
|
|
.sp
|
2019-02-24 19:40:07 +00:00
|
|
|
A repository location and an archive name must be specified for REPO::ARCHIVE1.
|
2017-02-05 13:22:06 +00:00
|
|
|
ARCHIVE2 is just another archive name in same repository (no repository location
|
|
|
|
allowed).
|
|
|
|
.sp
|
|
|
|
For archives created with Borg 1.1 or newer diff automatically detects whether
|
|
|
|
the archives are created with the same chunker params. If so, only chunk IDs
|
|
|
|
are compared, which is very fast.
|
|
|
|
.sp
|
|
|
|
For archives prior to Borg 1.1 chunk contents are compared by default.
|
|
|
|
If you did not create the archives with different chunker params,
|
2017-06-18 10:13:28 +00:00
|
|
|
pass \fB\-\-same\-chunker\-params\fP\&.
|
2017-02-05 13:22:06 +00:00
|
|
|
Note that the chunker params changed from Borg 0.xx to 1.0.
|
|
|
|
.sp
|
2022-02-19 17:48:13 +00:00
|
|
|
For more help on include/exclude patterns, see the \fIborg_patterns\fP command output.
|
2017-02-05 13:22:06 +00:00
|
|
|
.SH OPTIONS
|
|
|
|
.sp
|
|
|
|
See \fIborg\-common(1)\fP for common options of Borg commands.
|
|
|
|
.SS arguments
|
|
|
|
.INDENT 0.0
|
|
|
|
.TP
|
2019-02-24 19:40:07 +00:00
|
|
|
.B REPO::ARCHIVE1
|
2017-02-05 13:22:06 +00:00
|
|
|
repository location and ARCHIVE1 name
|
|
|
|
.TP
|
|
|
|
.B ARCHIVE2
|
|
|
|
ARCHIVE2 name (no repository location allowed)
|
|
|
|
.TP
|
|
|
|
.B PATH
|
|
|
|
paths of items inside the archives to compare; patterns are supported
|
|
|
|
.UNINDENT
|
|
|
|
.SS optional arguments
|
|
|
|
.INDENT 0.0
|
|
|
|
.TP
|
2022-01-23 14:53:42 +00:00
|
|
|
.B \-\-numeric\-owner
|
2021-05-11 20:33:28 +00:00
|
|
|
deprecated, use \fB\-\-numeric\-ids\fP instead
|
|
|
|
.TP
|
2022-01-23 14:53:42 +00:00
|
|
|
.B \-\-numeric\-ids
|
2017-02-05 13:22:06 +00:00
|
|
|
only consider numeric user and group identifiers
|
|
|
|
.TP
|
2022-01-23 14:53:42 +00:00
|
|
|
.B \-\-same\-chunker\-params
|
2017-02-05 13:22:06 +00:00
|
|
|
Override check of chunker parameters.
|
|
|
|
.TP
|
2022-01-23 14:53:42 +00:00
|
|
|
.B \-\-sort
|
2017-02-05 13:22:06 +00:00
|
|
|
Sort the output lines by file path.
|
2021-05-11 20:33:28 +00:00
|
|
|
.TP
|
2022-01-23 14:53:42 +00:00
|
|
|
.B \-\-json\-lines
|
2021-05-11 20:33:28 +00:00
|
|
|
Format output as JSON Lines.
|
2017-02-05 13:22:06 +00:00
|
|
|
.UNINDENT
|
2017-03-26 23:58:19 +00:00
|
|
|
.SS Exclusion options
|
|
|
|
.INDENT 0.0
|
|
|
|
.TP
|
2020-10-04 18:33:08 +00:00
|
|
|
.BI \-e \ PATTERN\fR,\fB \ \-\-exclude \ PATTERN
|
2017-03-26 23:58:19 +00:00
|
|
|
exclude paths matching PATTERN
|
|
|
|
.TP
|
|
|
|
.BI \-\-exclude\-from \ EXCLUDEFILE
|
|
|
|
read exclude patterns from EXCLUDEFILE, one per line
|
|
|
|
.TP
|
|
|
|
.BI \-\-pattern \ PATTERN
|
2022-02-05 16:30:40 +00:00
|
|
|
include/exclude paths matching PATTERN
|
2017-03-26 23:58:19 +00:00
|
|
|
.TP
|
|
|
|
.BI \-\-patterns\-from \ PATTERNFILE
|
2022-02-05 16:30:40 +00:00
|
|
|
read include/exclude patterns from PATTERNFILE, one per line
|
2017-03-26 23:58:19 +00:00
|
|
|
.UNINDENT
|
2017-02-05 13:22:06 +00:00
|
|
|
.SH EXAMPLES
|
|
|
|
.INDENT 0.0
|
|
|
|
.INDENT 3.5
|
|
|
|
.sp
|
|
|
|
.nf
|
|
|
|
.ft C
|
|
|
|
$ borg init \-e=none testrepo
|
|
|
|
$ mkdir testdir
|
|
|
|
$ cd testdir
|
|
|
|
$ echo asdf > file1
|
|
|
|
$ dd if=/dev/urandom bs=1M count=4 > file2
|
|
|
|
$ touch file3
|
|
|
|
$ borg create ../testrepo::archive1 .
|
|
|
|
|
|
|
|
$ chmod a+x file1
|
|
|
|
$ echo "something" >> file2
|
|
|
|
$ borg create ../testrepo::archive2 .
|
|
|
|
|
2021-05-11 20:33:28 +00:00
|
|
|
$ echo "testing 123" >> file1
|
2017-02-05 13:22:06 +00:00
|
|
|
$ rm file3
|
|
|
|
$ touch file4
|
|
|
|
$ borg create ../testrepo::archive3 .
|
|
|
|
|
|
|
|
$ cd ..
|
|
|
|
$ borg diff testrepo::archive1 archive2
|
|
|
|
[\-rw\-r\-\-r\-\- \-> \-rwxr\-xr\-x] file1
|
|
|
|
+135 B \-252 B file2
|
|
|
|
|
|
|
|
$ borg diff testrepo::archive2 archive3
|
2021-05-11 20:33:28 +00:00
|
|
|
+17 B \-5 B file1
|
2017-02-05 13:22:06 +00:00
|
|
|
added 0 B file4
|
|
|
|
removed 0 B file3
|
|
|
|
|
|
|
|
$ borg diff testrepo::archive1 archive3
|
2021-05-11 20:33:28 +00:00
|
|
|
+17 B \-5 B [\-rw\-r\-\-r\-\- \-> \-rwxr\-xr\-x] file1
|
2017-02-05 13:22:06 +00:00
|
|
|
+135 B \-252 B file2
|
|
|
|
added 0 B file4
|
|
|
|
removed 0 B file3
|
2021-05-11 20:33:28 +00:00
|
|
|
|
|
|
|
$ borg diff \-\-json\-lines testrepo::archive1 archive3
|
|
|
|
{"path": "file1", "changes": [{"type": "modified", "added": 17, "removed": 5}, {"type": "mode", "old_mode": "\-rw\-r\-\-r\-\-", "new_mode": "\-rwxr\-xr\-x"}]}
|
|
|
|
{"path": "file2", "changes": [{"type": "modified", "added": 135, "removed": 252}]}
|
|
|
|
{"path": "file4", "changes": [{"type": "added", "size": 0}]}
|
|
|
|
{"path": "file3", "changes": [{"type": "removed", "size": 0}]
|
2017-02-05 13:22:06 +00:00
|
|
|
.ft P
|
|
|
|
.fi
|
|
|
|
.UNINDENT
|
|
|
|
.UNINDENT
|
|
|
|
.SH SEE ALSO
|
|
|
|
.sp
|
|
|
|
\fIborg\-common(1)\fP
|
|
|
|
.SH AUTHOR
|
|
|
|
The Borg Collective
|
|
|
|
.\" Generated by docutils manpage writer.
|
|
|
|
.
|