borg-delete(1)

πŸ’… borg-delete β€” the "bye bestie" button for your archives

okay so real talk, this is borg-delete(1) from the borg backup tool family, and she is the page you want when some archive has gotta go. archive says goodbye, repo says not yet, and honestly that plot twist is the whole vibe. let's get into it 🫢


✨ SYNOPSIS ✨

borg [common options] delete [options] [NAME]

🌸 DESCRIPTION 🌸

This command soft-deletes archives from the repository. soft-delete. like, it's giving "we're not deleting you, we're just... not inviting you to things anymore" πŸ’€

Important, bestie, no cap: 🚨
  • The delete command will only mark archives for deletion ("soft-deletion") β€” repository disk space is not freed until you run borg compact. periodt. the bytes are still living there rent free.
  • You can use borg undelete to undelete archives, but only until you run borg compact. after that, bestie, it's over over 😭

When in doubt, use --dry-run --list to see what would be deleted. literally just peek before you leap, that's the self-care.

You can delete multiple archives by specifying a match pattern using the --match-archives PATTERN option (for more information on these patterns, see borg help match-archives). group deletion, main character energy πŸ‘‘


πŸŽ€ OPTIONS πŸŽ€

See borg-common(1) for common options of Borg commands. (the shared wardrobe, iykyk)

arguments

  • NAME β€” specify the archive name 🌈

options

  • -n, --dry-run β€” do not change the repository. vibes only, no consequences ✨
  • --list β€” output a verbose list of archives πŸ¦‹

Archive filters πŸ“

  • -a PATTERN, --match-archives PATTERN β€” only consider archives matching all patterns. See borg help match-archives.
  • --sort-by KEYS β€” Comma-separated list of sorting keys; valid keys are: timestamp, archive, name, id, tags, host, user; default is: timestamp
  • --first N β€” consider the first N archives after other filters are applied
  • --last N β€” consider the last N archives after other filters are 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.

πŸ”₯ EXAMPLES πŸ”₯

the part where it all comes together, bestie. copy these, they're iconic πŸ’œ

# Delete all backup archives named "kenny-files":
$ borg delete -a kenny-files
# Actually free disk space:
$ borg compact

# Delete a specific backup archive using its unique archive ID prefix
$ borg delete aid:d34db33f

# 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-*'

πŸ‘€ SEE ALSO πŸ‘€

borg-common(1), borg-compact(1), borg-repo-delete(1)

squad goals, fr fr.


🫢 AUTHOR 🫢

The Borg Collective


and that's the whole page, bestie β€” written up for the borg backup tool, dated 2026-10-07, signed off as borg-delete(1) from The Borg Collective. soft-delete responsibly, run your borg compact, and remember: dry-run first, slay always βœ¨πŸ’…πŸŽ€

πŸ“¦ where this page comes from