borg compact

borg [common options] compact [options] [REPOSITORY]
positional arguments
  REPOSITORY repository to compact
optional arguments
  --cleanup-commits cleanup commit-only 17-byte segment files
  --threshold PERCENT set minimum threshold for saved space in PERCENT (Default: 10)

Common options

Description

This command frees repository space by compacting segments.

Use this regularly to avoid running out of space - you do not need to use this after each borg command though. It is especially useful after deleting archives, because only compaction will really free repository space.

borg compact does not need a key, so it is possible to invoke it from the client or also from the server.

Depending on the amount of segments that need compaction, it may take a while, so consider using the --progress option.

A segment is compacted if the amount of saved space is above the percentage value given by the --threshold option. If omitted, a threshold of 10% is used. When using --verbose, borg will output an estimate of the freed space.

After upgrading borg (server) to 1.2+, you can use borg compact --cleanup-commits to clean up the numerous 17byte commit-only segments that borg 1.1 did not clean up due to a bug. It is enough to do that once per repository.

See Separate compaction in Additional Notes for more details.

Examples

# compact segments and free repo disk space
$ borg compact /path/to/repo

# same as above plus clean up 17byte commit-only segments
$ borg compact --cleanup-commits /path/to/repo