mirror of
https://github.com/borgbackup/borg.git
synced 2026-02-12 07:13:41 -05:00
Use with caution: permanent data loss by specifying incorrect patterns
is easily possible. Make a dry run to make sure you got everything right.
borg recreate has many uses:
- Can selectively remove files/dirs from old archives, e.g. to free
space or purging picturarum biggus dickus from history
- Recompress data
- Rechunkify data, to have upgraded Attic / Borg 0.xx archives deduplicate
with Borg 1.x archives. (Or to experiment with chunker-params for
specific use cases
It is interrupt- and resumable.
Chunks are not freed on-the-fly.
Rationale:
Makes only sense when rechunkifying, but logic on which new chunks to
free what input chunks is complicated and *very* delicate.
Future TODOs:
- Refactor tests using py.test fixtures
-- would require porting ArchiverTestCase to py.test: many changes,
this changeset is already borderline too large.
- Possibly add a --target option to not replace the source archive
-- with the target possibly in another Repo
(better than "cp" due to full integrity checking, and deduplication
at the target)
- Detect and skip (unless --always-recompress) already recompressed chunks
Fixes #787 #686 #630 #70 (and probably some I overlooked)
Also see #757 and #770
|
||
|---|---|---|
| .. | ||
| break-lock.rst.inc | ||
| change-passphrase.rst.inc | ||
| check.rst.inc | ||
| comment.rst.inc | ||
| common-options.rst.inc | ||
| create.rst.inc | ||
| debug-delete-obj.rst.inc | ||
| debug-dump-archive-items.rst.inc | ||
| debug-get-obj.rst.inc | ||
| debug-put-obj.rst.inc | ||
| delete.rst.inc | ||
| diff.rst.inc | ||
| extract.rst.inc | ||
| help.rst.inc | ||
| info.rst.inc | ||
| init.rst.inc | ||
| list.rst.inc | ||
| migrate-to-repokey.rst.inc | ||
| mount.rst.inc | ||
| prune.rst.inc | ||
| recreate.rst.inc | ||
| rename.rst.inc | ||
| serve.rst.inc | ||
| upgrade.rst.inc | ||