Provided by: borgbackup2_2.0.0b5-1_amd64
NAME
borg-transfer - archives transfer from other repository, optionally upgrade data format
SYNOPSIS
borg [common options] transfer [options]
DESCRIPTION
This command transfers archives from one repository to another repository. Optionally, it can also upgrade the transferred data. Suggested use for general purpose archive transfer (not repo upgrades): # create a related DST_REPO (reusing key material from SRC_REPO), so that # chunking and chunk id generation will work in the same way as before. borg --repo=DST_REPO rcreate --other-repo=SRC_REPO --encryption=DST_ENC # 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? The default is to transfer all archives, including checkpoint archives. 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. 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: borg --repo=DST_REPO transfer --other-repo=SRC_REPO --upgrader=From12To20
OPTIONS
See borg-common(1) for common options of Borg commands. options -n, --dry-run do not change repository, just check --other-repo SRC_REPOSITORY transfer archives from the other repository --upgrader UPGRADER use the upgrader to convert transferred data (default: no conversion) Archive filters -a PATTERN, --match-archives PATTERN only consider archive names matching the pattern. see "borg help match-archives". --sort-by KEYS Comma-separated list of sorting keys; valid keys are: timestamp, name, id; default is: timestamp --first N consider first N archives after other filters were applied --last N consider last N archives after other filters were applied --oldest TIMESPAN consider archives between the oldest archive's timestamp and (oldest + TIMESPAN), e.g. 7d or 12m. --newest TIMESPAN consider archives between the newest archive's timestamp and (newest - TIMESPAN), e.g. 7d or 12m. --older TIMESPAN consider archives older than (now - TIMESPAN), e.g. 7d oder 12m. --newer TIMESPAN consider archives newer than (now - TIMESPAN), e.g. 7d or 12m.
EXAMPLES
# 0. Have borg 2.0 installed on client AND server, have a b12 repo copy for testing. # 1. Create a new "related" repository: # 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. # in case your old borg repo did not use blake2, just remove the "-blake2". $ borg --repo ssh://borg2@borgbackup/./tests/b20 rcreate \ --other-repo ssh://borg2@borgbackup/./tests/b12 -e repokey-blake2-aes-ocb # 2. Check what and how much it would transfer: $ borg --repo ssh://borg2@borgbackup/./tests/b20 transfer --upgrader=From12To20 \ --other-repo ssh://borg2@borgbackup/./tests/b12 --dry-run # 3. Transfer (copy) archives from old repo into new repo (takes time and space!): $ borg --repo ssh://borg2@borgbackup/./tests/b20 transfer --upgrader=From12To20 \ --other-repo ssh://borg2@borgbackup/./tests/b12 # 4. Check if we have everything (same as 2.): $ borg --repo ssh://borg2@borgbackup/./tests/b20 transfer --upgrader=From12To20 \ --other-repo ssh://borg2@borgbackup/./tests/b12 --dry-run
SEE ALSO
borg-common(1)
AUTHOR
The Borg Collective 2023-03-01 BORG-TRANSFER(1)