borg delete

borg [common options] delete [options]

optional arguments

-n, --dry-run

do not change repository

--list

output verbose list of archives

--consider-checkpoints

consider checkpoint archives for deletion (default: not considered).

-s, --stats

print statistics for the deleted archive

--force

force deletion of corrupted archives, use --force --force in case --force does not work.

-c SECONDS, --checkpoint-interval SECONDS

write checkpoint every SECONDS seconds (Default: 1800)

Common options

Archive filters — Archive filters can be applied to repository targets.

-a PATTERN, --match-archives PATTERN

only consider archive names matching the pattern. see “borg help match-archives”.

--sort-by KEYS

Comma-separated list of sorting keys; valid keys are: timestamp, archive, name, id; default is: timestamp

--first N

consider first N archives after other filters were applied

--last N

consider last N archives after other filters were applied

--oldest TIMESPAN

consider archives between the oldest archive’s timestamp and (oldest + TIMESPAN), e.g. 7d or 12m.

--newest TIMESPAN

consider archives between the newest archive’s timestamp and (newest - TIMESPAN), e.g. 7d or 12m.

--older TIMESPAN

consider archives older than (now - TIMESPAN), e.g. 7d or 12m.

--newer TIMESPAN

consider archives newer than (now - TIMESPAN), e.g. 7d or 12m.

Description

This command deletes archives from the repository.

Important: When deleting archives, repository disk space is not freed until you run borg compact.

When in doubt, use --dry-run --list to see what would be deleted.

When using --stats, you will get some statistics about how much data was deleted - the “Deleted data” deduplicated size there is most interesting as that is how much your repository will shrink. Please note that the “All archives” stats refer to the state after deletion.

You can delete multiple archives by specifying a matching pattern, using the --match-archives PATTERN option (for more info on these patterns, see borg help patterns).

Always first use --dry-run --list to see what would be deleted.

Examples

# delete a single backup archive:
$ borg delete -a Monday
# actually free disk space:
$ borg compact

# delete all archives whose names begin with the machine's hostname followed by "-"
$ borg delete -a 'sh:{hostname}-*'

# delete all archives whose names contain "-2012-"
$ borg delete -a 'sh:*-2012-*'

# see what would be deleted if delete was run without --dry-run
$ borg delete --list --dry-run -a 'sh:*-May-*'