2022-06-23 23:19:19 +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
|
|
|
|
..
|
2023-02-26 20:30:54 +00:00
|
|
|
.TH "BORG-TRANSFER" 1 "2023-02-26" "" "borg backup tool"
|
2022-06-23 23:19:19 +00:00
|
|
|
.SH NAME
|
2022-07-03 23:21:50 +00:00
|
|
|
borg-transfer \- archives transfer from other repository, optionally upgrade data format
|
2022-06-23 23:19:19 +00:00
|
|
|
.SH SYNOPSIS
|
|
|
|
.sp
|
|
|
|
borg [common options] transfer [options]
|
|
|
|
.SH DESCRIPTION
|
|
|
|
.sp
|
|
|
|
This command transfers archives from one repository to another repository.
|
2022-07-03 23:21:50 +00:00
|
|
|
Optionally, it can also upgrade the transferred data.
|
2022-06-23 23:19:19 +00:00
|
|
|
.sp
|
2022-07-03 23:21:50 +00:00
|
|
|
Suggested use for general purpose archive transfer (not repo upgrades):
|
2022-06-23 23:19:19 +00:00
|
|
|
.INDENT 0.0
|
|
|
|
.INDENT 3.5
|
|
|
|
.sp
|
|
|
|
.nf
|
|
|
|
.ft C
|
2022-08-03 20:19:12 +00:00
|
|
|
# create a related DST_REPO (reusing key material from SRC_REPO), so that
|
2022-06-23 23:19:19 +00:00
|
|
|
# chunking and chunk id generation will work in the same way as before.
|
2022-08-03 20:19:12 +00:00
|
|
|
borg \-\-repo=DST_REPO rcreate \-\-other\-repo=SRC_REPO \-\-encryption=DST_ENC
|
2022-06-23 23:19:19 +00:00
|
|
|
|
|
|
|
# transfer archives from SRC_REPO to DST_REPO
|
|
|
|
borg \-\-repo=DST_REPO transfer \-\-other\-repo=SRC_REPO \-\-dry\-run # check what it would do
|
|
|
|
borg \-\-repo=DST_REPO transfer \-\-other\-repo=SRC_REPO # do it!
|
|
|
|
borg \-\-repo=DST_REPO transfer \-\-other\-repo=SRC_REPO \-\-dry\-run # check! anything left?
|
|
|
|
.ft P
|
|
|
|
.fi
|
|
|
|
.UNINDENT
|
|
|
|
.UNINDENT
|
|
|
|
.sp
|
|
|
|
The default is to transfer all archives, including checkpoint archives.
|
|
|
|
.sp
|
|
|
|
You could use the misc. archive filter options to limit which archives it will
|
|
|
|
transfer, e.g. using the \-a option. This is recommended for big
|
|
|
|
repositories with multiple data sets to keep the runtime per invocation lower.
|
2022-07-03 23:21:50 +00:00
|
|
|
.sp
|
|
|
|
For repository upgrades (e.g. from a borg 1.2 repo to a related borg 2.0 repo), usage is
|
|
|
|
quite similar to the above:
|
|
|
|
.INDENT 0.0
|
|
|
|
.INDENT 3.5
|
|
|
|
.sp
|
|
|
|
.nf
|
|
|
|
.ft C
|
|
|
|
borg \-\-repo=DST_REPO transfer \-\-other\-repo=SRC_REPO \-\-upgrader=From12To20
|
|
|
|
.ft P
|
|
|
|
.fi
|
|
|
|
.UNINDENT
|
|
|
|
.UNINDENT
|
2022-06-23 23:19:19 +00:00
|
|
|
.SH OPTIONS
|
|
|
|
.sp
|
|
|
|
See \fIborg\-common(1)\fP for common options of Borg commands.
|
2022-11-26 21:23:46 +00:00
|
|
|
.SS options
|
2022-06-23 23:19:19 +00:00
|
|
|
.INDENT 0.0
|
|
|
|
.TP
|
|
|
|
.B \-n\fP,\fB \-\-dry\-run
|
|
|
|
do not change repository, just check
|
|
|
|
.TP
|
|
|
|
.BI \-\-other\-repo \ SRC_REPOSITORY
|
|
|
|
transfer archives from the other repository
|
2022-07-03 23:21:50 +00:00
|
|
|
.TP
|
|
|
|
.BI \-\-upgrader \ UPGRADER
|
|
|
|
use the upgrader to convert transferred data (default: no conversion)
|
2022-06-23 23:19:19 +00:00
|
|
|
.UNINDENT
|
|
|
|
.SS Archive filters
|
|
|
|
.INDENT 0.0
|
|
|
|
.TP
|
2022-10-02 13:51:17 +00:00
|
|
|
.BI \-a \ PATTERN\fR,\fB \ \-\-match\-archives \ PATTERN
|
|
|
|
only consider archive names matching the pattern. see \(dqborg help match\-archives\(dq.
|
2022-06-23 23:19:19 +00:00
|
|
|
.TP
|
|
|
|
.BI \-\-sort\-by \ KEYS
|
|
|
|
Comma\-separated list of sorting keys; valid keys are: timestamp, name, id; default is: timestamp
|
|
|
|
.TP
|
|
|
|
.BI \-\-first \ N
|
|
|
|
consider first N archives after other filters were applied
|
|
|
|
.TP
|
|
|
|
.BI \-\-last \ N
|
|
|
|
consider last N archives after other filters were applied
|
2023-02-26 20:30:54 +00:00
|
|
|
.TP
|
|
|
|
.BI \-\-oldest \ TIMESPAN
|
|
|
|
consider archives between the oldest archive\(aqs timestamp and (oldest + TIMESPAN), e.g. 7d or 12m.
|
|
|
|
.TP
|
|
|
|
.BI \-\-newest \ TIMESPAN
|
|
|
|
consider archives between the newest archive\(aqs timestamp and (newest \- TIMESPAN), e.g. 7d or 12m.
|
|
|
|
.TP
|
|
|
|
.BI \-\-older \ TIMESPAN
|
|
|
|
consider archives older than (now \- TIMESPAN), e.g. 7d oder 12m.
|
|
|
|
.TP
|
|
|
|
.BI \-\-newer \ TIMESPAN
|
|
|
|
consider archives newer than (now \- TIMESPAN), e.g. 7d or 12m.
|
2022-06-23 23:19:19 +00:00
|
|
|
.UNINDENT
|
2022-06-26 11:56:33 +00:00
|
|
|
.SH EXAMPLES
|
|
|
|
.INDENT 0.0
|
2022-06-26 18:11:41 +00:00
|
|
|
.INDENT 3.5
|
2022-06-26 11:56:33 +00:00
|
|
|
.sp
|
2022-06-26 18:11:41 +00:00
|
|
|
.nf
|
|
|
|
.ft C
|
|
|
|
# 0. Have borg 2.0 installed on client AND server, have a b12 repo copy for testing.
|
|
|
|
|
2022-09-10 14:03:27 +00:00
|
|
|
# 1. Create a new \(dqrelated\(dq repository:
|
2022-06-26 11:56:33 +00:00
|
|
|
# here, the existing borg 1.2 repo used repokey\-blake2 (and aes\-ctr mode),
|
|
|
|
# thus we use repokey\-blake2\-aes\-ocb for the new borg 2.0 repo.
|
|
|
|
# staying with the same chunk id algorithm (blake2) and with the same
|
|
|
|
# key material (via \-\-other\-repo <oldrepo>) will make deduplication work
|
|
|
|
# between old archives (copied with borg transfer) and future ones.
|
|
|
|
# the AEAD cipher does not matter (everything must be re\-encrypted and
|
|
|
|
# re\-authenticated anyway), you could also choose repokey\-blake2\-chacha20\-poly1305.
|
2022-09-10 14:03:27 +00:00
|
|
|
# in case your old borg repo did not use blake2, just remove the \(dq\-blake2\(dq.
|
2022-06-26 18:11:41 +00:00
|
|
|
$ borg \-\-repo ssh://borg2@borgbackup/./tests/b20 rcreate \e
|
|
|
|
\-\-other\-repo ssh://borg2@borgbackup/./tests/b12 \-e repokey\-blake2\-aes\-ocb
|
|
|
|
|
2022-06-26 11:56:33 +00:00
|
|
|
# 2. Check what and how much it would transfer:
|
2022-08-03 20:19:12 +00:00
|
|
|
$ borg \-\-repo ssh://borg2@borgbackup/./tests/b20 transfer \-\-upgrader=From12To20 \e
|
2022-06-26 18:11:41 +00:00
|
|
|
\-\-other\-repo ssh://borg2@borgbackup/./tests/b12 \-\-dry\-run
|
|
|
|
|
2022-06-26 11:56:33 +00:00
|
|
|
# 3. Transfer (copy) archives from old repo into new repo (takes time and space!):
|
2022-08-03 20:19:12 +00:00
|
|
|
$ borg \-\-repo ssh://borg2@borgbackup/./tests/b20 transfer \-\-upgrader=From12To20 \e
|
2022-06-26 18:11:41 +00:00
|
|
|
\-\-other\-repo ssh://borg2@borgbackup/./tests/b12
|
|
|
|
|
2022-06-26 11:56:33 +00:00
|
|
|
# 4. Check if we have everything (same as 2.):
|
2022-08-03 20:19:12 +00:00
|
|
|
$ borg \-\-repo ssh://borg2@borgbackup/./tests/b20 transfer \-\-upgrader=From12To20 \e
|
2022-06-26 18:11:41 +00:00
|
|
|
\-\-other\-repo ssh://borg2@borgbackup/./tests/b12 \-\-dry\-run
|
|
|
|
.ft P
|
|
|
|
.fi
|
2022-06-26 11:56:33 +00:00
|
|
|
.UNINDENT
|
|
|
|
.UNINDENT
|
2022-06-23 23:19:19 +00:00
|
|
|
.SH SEE ALSO
|
|
|
|
.sp
|
|
|
|
\fIborg\-common(1)\fP
|
|
|
|
.SH AUTHOR
|
|
|
|
The Borg Collective
|
|
|
|
.\" Generated by docutils manpage writer.
|
|
|
|
.
|