mirror of
https://github.com/borgbackup/borg.git
synced 2024-12-23 08:16:54 +00:00
199 lines
4.8 KiB
Groff
199 lines
4.8 KiB
Groff
.\" 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-DIFF" 1 "2023-06-11" "" "borg backup tool"
|
|
.SH NAME
|
|
borg-diff \- Diff contents of two archives
|
|
.SH SYNOPSIS
|
|
.sp
|
|
borg [common options] diff [options] ARCHIVE1 ARCHIVE2 [PATH...]
|
|
.SH DESCRIPTION
|
|
.sp
|
|
This command finds differences (file contents, metadata) between ARCHIVE1 and ARCHIVE2.
|
|
.sp
|
|
For more help on include/exclude patterns, see the \fIborg_patterns\fP command output.
|
|
.SH OPTIONS
|
|
.sp
|
|
See \fIborg\-common(1)\fP for common options of Borg commands.
|
|
.SS arguments
|
|
.INDENT 0.0
|
|
.TP
|
|
.B ARCHIVE1
|
|
ARCHIVE1 name
|
|
.TP
|
|
.B ARCHIVE2
|
|
ARCHIVE2 name
|
|
.TP
|
|
.B PATH
|
|
paths of items inside the archives to compare; patterns are supported
|
|
.UNINDENT
|
|
.SS options
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-numeric\-ids
|
|
only consider numeric user and group identifiers
|
|
.TP
|
|
.B \-\-same\-chunker\-params
|
|
Override check of chunker parameters.
|
|
.TP
|
|
.B \-\-sort
|
|
Sort the output lines by file path.
|
|
.TP
|
|
.BI \-\-format \ FORMAT
|
|
specify format for differences between archives (default: \(dq{change} {path}{NL}\(dq)
|
|
.TP
|
|
.B \-\-json\-lines
|
|
Format output as JSON Lines.
|
|
.TP
|
|
.B \-\-content\-only
|
|
Only compare differences in content (exclude metadata differences)
|
|
.UNINDENT
|
|
.SS Include/Exclude options
|
|
.INDENT 0.0
|
|
.TP
|
|
.BI \-e \ PATTERN\fR,\fB \ \-\-exclude \ PATTERN
|
|
exclude paths matching PATTERN
|
|
.TP
|
|
.BI \-\-exclude\-from \ EXCLUDEFILE
|
|
read exclude patterns from EXCLUDEFILE, one per line
|
|
.TP
|
|
.BI \-\-pattern \ PATTERN
|
|
include/exclude paths matching PATTERN
|
|
.TP
|
|
.BI \-\-patterns\-from \ PATTERNFILE
|
|
read include/exclude patterns from PATTERNFILE, one per line
|
|
.UNINDENT
|
|
.SH EXAMPLES
|
|
.INDENT 0.0
|
|
.INDENT 3.5
|
|
.sp
|
|
.nf
|
|
.ft C
|
|
$ borg diff archive1 archive2
|
|
+17 B \-5 B [\-rw\-r\-\-r\-\- \-> \-rwxr\-xr\-x] file1
|
|
+135 B \-252 B file2
|
|
added 0 B file4
|
|
removed 0 B file3
|
|
|
|
$ borg diff archive1 archive2
|
|
{\(dqpath\(dq: \(dqfile1\(dq, \(dqchanges\(dq: [{\(dqtype\(dq: \(dqmodified\(dq, \(dqadded\(dq: 17, \(dqremoved\(dq: 5}, {\(dqtype\(dq: \(dqmode\(dq, \(dqold_mode\(dq: \(dq\-rw\-r\-\-r\-\-\(dq, \(dqnew_mode\(dq: \(dq\-rwxr\-xr\-x\(dq}]}
|
|
{\(dqpath\(dq: \(dqfile2\(dq, \(dqchanges\(dq: [{\(dqtype\(dq: \(dqmodified\(dq, \(dqadded\(dq: 135, \(dqremoved\(dq: 252}]}
|
|
{\(dqpath\(dq: \(dqfile4\(dq, \(dqchanges\(dq: [{\(dqtype\(dq: \(dqadded\(dq, \(dqsize\(dq: 0}]}
|
|
{\(dqpath\(dq: \(dqfile3\(dq, \(dqchanges\(dq: [{\(dqtype\(dq: \(dqremoved\(dq, \(dqsize\(dq: 0}]}
|
|
.ft P
|
|
.fi
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.SH NOTES
|
|
.SS The FORMAT specifier syntax
|
|
.sp
|
|
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 diff \-\-format \(aq{content:30} {path}{NL}\(aq ArchiveFoo ArchiveBar
|
|
modified: +4.1 kB \-1.0 kB file\-diff
|
|
\&...
|
|
|
|
# {VAR:<NUMBER} \- pad to NUMBER columns left\-aligned.
|
|
# {VAR:>NUMBER} \- pad to NUMBER columns right\-aligned.
|
|
$ borg diff \-\-format \(aq{content:>30} {path}{NL}\(aq ArchiveFoo ArchiveBar
|
|
modified: +4.1 kB \-1.0 kB file\-diff
|
|
\&...
|
|
.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
|
|
.IP \(bu 2
|
|
SPACE: space character
|
|
.IP \(bu 2
|
|
TAB: tab character
|
|
.IP \(bu 2
|
|
CR: carriage return character
|
|
.IP \(bu 2
|
|
LF: line feed character
|
|
.UNINDENT
|
|
.sp
|
|
Keys available only when showing differences between archives:
|
|
.INDENT 0.0
|
|
.IP \(bu 2
|
|
path: archived file path
|
|
.IP \(bu 2
|
|
change: all available changes
|
|
.IP \(bu 2
|
|
content: file content change
|
|
.IP \(bu 2
|
|
mode: file mode change
|
|
.IP \(bu 2
|
|
type: file type change
|
|
.IP \(bu 2
|
|
owner: file owner (user/group) change
|
|
.IP \(bu 2
|
|
group: file group change
|
|
.IP \(bu 2
|
|
user: file user change
|
|
.IP \(bu 2
|
|
link: file link change
|
|
.IP \(bu 2
|
|
directory: file directory change
|
|
.IP \(bu 2
|
|
blkdev: file block device change
|
|
.IP \(bu 2
|
|
chrdev: file character device change
|
|
.IP \(bu 2
|
|
fifo: file fifo change
|
|
.IP \(bu 2
|
|
mtime: file modification time change
|
|
.IP \(bu 2
|
|
ctime: file change time change
|
|
.IP \(bu 2
|
|
isomtime: file modification time change (ISO 8601)
|
|
.IP \(bu 2
|
|
isoctime: file creation time change (ISO 8601)
|
|
.UNINDENT
|
|
.SH SEE ALSO
|
|
.sp
|
|
\fIborg\-common(1)\fP
|
|
.SH AUTHOR
|
|
The Borg Collective
|
|
.\" Generated by docutils manpage writer.
|
|
.
|