diff --git a/changelog/unreleased/issue-5453 b/changelog/unreleased/issue-5453 index 686474597..12c09e0b0 100644 --- a/changelog/unreleased/issue-5453 +++ b/changelog/unreleased/issue-5453 @@ -1,12 +1,10 @@ -Enhancement: `restic copy` can now spool packfiles across muliple snapshots +Enhancement: `copy` copies snapshots in batches -When using `restic copy` used to save all newly created packfiles when finishing one snapshot, -even when the actual packfile size was quite small. This applied particularly to -incremental backups, when there was only small changes between individual backups. +The `copy` command used to copy snapshots individually, even if this resulted in creating pack files +smaller than the target pack size. In particular, this resulted in many small files +when copying small incremental snapshots. -When using the new option `--batch`, `restic copy` now creates one large request list -which contains all blobs from all snapshots to be copied and then executes the -copy operation. +Now, `copy` copies multiple snapshots at once to avoid creating small files. https://github.com/restic/restic/issues/5175 https://github.com/restic/restic/pull/5464 diff --git a/doc/045_working_with_repos.rst b/doc/045_working_with_repos.rst index 10f898444..5fadac637 100644 --- a/doc/045_working_with_repos.rst +++ b/doc/045_working_with_repos.rst @@ -216,14 +216,6 @@ example from a local to a remote repository, you can use the ``copy`` command: snapshot 4e5d5487 of [/home/user/work] at 2020-05-01 22:44:07.012113 +0200 CEST by user@kasimir skipping snapshot 4e5d5487, was already copied to snapshot 50eb62b7 -In case you want to copy a repository which contains many backups with little changes -between ``restic backup`` runs, you can use the option ``--batch`` to make full use of -the ``--pack-size`` option. Newly created packfiles are saved when the ``copy`` -operation for one snapshot finishes. The option ``--batch`` disregards these snapshot boundaries -and creates optimally filled packfiles. You can always always achieve the same effect -by running ``restic prune`` after a ``restic copy`` operation, but this involves the extra -``prune`` step. - The example command copies all snapshots from the source repository ``/srv/restic-repo`` to the destination repository ``/srv/restic-repo-copy``. Snapshots which have previously been copied between repositories will