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. After cleaning up the commits, borg will also do a normal compaction.

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