borg recreate
*************

   borg [common options] recreate [options] [REPOSITORY_OR_ARCHIVE] [PATH...]


Description
===========

Recreate the contents of existing archives.

Recreate is a potentially dangerous operation and might lead to data
loss (if used wrongly). BE VERY CAREFUL!

Important: Repository disk space is **not** freed until you run "borg
compact".

"--exclude", "--exclude-from", "--exclude-if-present", "--keep-
exclude-tags" and PATH have the exact same semantics as in "borg
create", but they only check for files in the archives and not in the
local file system. If PATHs are specified, the resulting archives will
only contain files from these PATHs.

Note that all paths in an archive are relative, therefore absolute
patterns/paths will *not* match ("--exclude", "--exclude-from",
PATHs).

"--recompress" allows one to change the compression of existing data
in archives. Due to how Borg stores compressed size information this
might display incorrect information for archives that were not
recreated at the same time. There is no risk of data loss by this.

"--chunker-params" will re-chunk all files in the archive; this can be
used to have upgraded Borg 0.xx or Attic archives deduplicate with
Borg 1.x archives.

**USE WITH CAUTION.** Depending on the PATHs and patterns given,
recreate can be used to permanently delete files from archives. When
in doubt, use "--dry-run --verbose --list" to see how patterns/PATHs
are interpreted. See Item flags in "borg create" for details.

The archive being recreated is only removed after the operation
completes. The archive that is built during the operation exists at
the same time at "<ARCHIVE>.recreate". The new archive will have a
different archive ID.

With "--target" the original archive is not replaced; instead, a new
archive is created.

When rechunking (or recompressing), space usage can be substantial -
expect at least the entire deduplicated size of the archives using the
previous chunker (or compression) parameters.

If you recently ran "borg check --repair" and it had to fix lost
chunks with all-zero replacement chunks, please first run another
backup for the same data and re-run "borg check --repair" afterwards
to heal any archives that had lost chunks which are still generated
from the input data.

Important: running "borg recreate" to re-chunk will remove the
"chunks_healthy" metadata of all items with replacement chunks, so
healing will not be possible anymore after re-chunking (it is also
unlikely it would ever work: due to the change of chunking parameters,
the missing chunk likely will never be seen again even if you still
have the data that produced it).


Examples
========

   # Make old (Attic/Borg 0.xx) archives deduplicate with Borg 1.x archives.
   # Archives created with Borg 1.1+ and the default chunker params are skipped
   # (archive ID stays the same).
   $ borg recreate /mnt/backup --chunker-params default --progress

   # Create a backup with low but fast compression.
   $ borg create /mnt/backup::archive /some/files --compression lz4
   # Then compress it — this might take longer, but the backup has already completed,
   # so no inconsistencies from a long-running backup job.
   $ borg recreate /mnt/backup::archive --recompress --compression zlib,9

   # Remove unwanted files from all archives in a repository.
   # Note the relative path for the --exclude option — archives only contain relative paths.
   $ borg recreate /mnt/backup --exclude home/icke/Pictures/drunk_photos

   # Change the archive comment.
   $ borg create --comment "This is a comment" /mnt/backup::archivename ~
   $ borg info /mnt/backup::archivename
   Name: archivename
   Fingerprint: ...
   Comment: This is a comment
   ...
   $ borg recreate --comment "This is a better comment" /mnt/backup::archivename
   $ borg info /mnt/backup::archivename
   Name: archivename
   Fingerprint: ...
   Comment: This is a better comment
   ...
