Provided by: borgbackup2_2.0.0b5-1_amd64 bug

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)