borgbackup/docs/usage/prune.rst

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

52 lines
2 KiB
ReStructuredText
Raw Normal View History

2017-06-06 18:06:36 -04:00
.. include:: prune.rst.inc
Examples
~~~~~~~~
Be careful: prune is a potentially dangerous command that removes backup
2017-06-06 18:06:36 -04:00
archives.
By default, prune applies to **all archives in the repository** unless you
restrict its operation to a subset of the archives.
The recommended way to name archives (with ``borg create``) is to use the
identical archive name within a series of archives. Then you can simply give
that name to prune as well, so it operates only on that series of archives.
Alternatively, you can use ``-a``/``--match-archives`` to match archive names
and select a subset of them.
When using ``-a``, be careful to choose a good pattern — for example, do not use a
2017-06-06 18:06:36 -04:00
prefix "foo" if you do not also want to match "foobar".
It is strongly recommended to always run ``prune -v --list --dry-run ...``
first, so you will see what it would do without it actually doing anything.
2017-06-06 18:06:36 -04:00
Do not forget to run ``borg compact -v`` after prune to actually free disk space.
2017-06-06 18:06:36 -04:00
::
# Keep 7 end of day and 4 additional end of week archives.
# Do a dry-run without actually deleting anything.
2022-06-23 19:19:19 -04:00
$ borg prune -v --list --dry-run --keep-daily=7 --keep-weekly=4
2017-06-06 18:06:36 -04:00
# Similar to the above, but only apply to the archive series named '{hostname}':
$ borg prune -v --list --keep-daily=7 --keep-weekly=4 '{hostname}'
# Similar to the above, but apply to archive names starting with the hostname
# of the machine followed by a '-' character:
$ borg prune -v --list --keep-daily=7 --keep-weekly=4 -a 'sh:{hostname}-*'
2017-06-06 18:06:36 -04:00
# Keep 7 end of day, 4 additional end of week archives,
# and an end of month archive for every month:
2022-06-23 19:19:19 -04:00
$ borg prune -v --list --keep-daily=7 --keep-weekly=4 --keep-monthly=-1
2017-06-06 18:06:36 -04:00
# Keep all backups in the last 10 days, 4 additional end of week archives,
# and an end of month archive for every month:
2022-06-23 19:19:19 -04:00
$ borg prune -v --list --keep-within=10d --keep-weekly=4 --keep-monthly=-1
2017-06-23 11:03:04 -04:00
2017-06-23 13:16:33 -04:00
There is also a visualized prune example in ``docs/misc/prune-example.txt``:
2017-06-23 11:03:04 -04:00
2017-06-23 13:16:33 -04:00
.. highlight:: none
.. include:: ../misc/prune-example.txt
2017-06-23 11:03:04 -04:00
:literal: