2016-07-05 21:30:08 +00:00
|
|
|
.. IMPORTANT: this file is auto-generated from borg's built-in help, do not edit!
|
|
|
|
|
2015-11-13 15:42:16 +00:00
|
|
|
.. _borg_prune:
|
|
|
|
|
|
|
|
borg prune
|
|
|
|
----------
|
2017-06-06 22:44:53 +00:00
|
|
|
.. code-block:: none
|
2015-11-13 15:42:16 +00:00
|
|
|
|
2022-06-23 23:19:19 +00:00
|
|
|
borg [common options] prune [options]
|
2016-04-09 23:28:18 +00:00
|
|
|
|
2017-06-20 13:22:24 +00:00
|
|
|
.. only:: html
|
2017-06-20 09:49:26 +00:00
|
|
|
|
2017-06-20 13:22:24 +00:00
|
|
|
.. class:: borg-options-table
|
2016-04-09 23:28:18 +00:00
|
|
|
|
2023-02-26 20:30:28 +00:00
|
|
|
+-----------------------------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------+
|
|
|
|
| **options** |
|
|
|
|
+-----------------------------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------+
|
|
|
|
| | ``-n``, ``--dry-run`` | do not change repository |
|
|
|
|
+-----------------------------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------+
|
|
|
|
| | ``--force`` | force pruning of corrupted archives, use ``--force --force`` in case ``--force`` does not work. |
|
|
|
|
+-----------------------------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------+
|
|
|
|
| | ``-s``, ``--stats`` | print statistics for the deleted archive |
|
|
|
|
+-----------------------------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------+
|
|
|
|
| | ``--list`` | output verbose list of archives it keeps/prunes |
|
|
|
|
+-----------------------------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------+
|
2023-06-11 21:09:20 +00:00
|
|
|
| | ``--short`` | use a less wide archive part format |
|
|
|
|
+-----------------------------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------+
|
|
|
|
| | ``--list-pruned`` | output verbose list of archives it prunes |
|
|
|
|
+-----------------------------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------+
|
|
|
|
| | ``--list-kept`` | output verbose list of archives it keeps |
|
|
|
|
+-----------------------------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------+
|
|
|
|
| | ``--format FORMAT`` | specify format for the archive part (default: "{archive:<36} {time} [{id}]") |
|
|
|
|
+-----------------------------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------+
|
2023-02-26 20:30:28 +00:00
|
|
|
| | ``--keep-within INTERVAL`` | keep all archives within this time interval |
|
|
|
|
+-----------------------------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------+
|
|
|
|
| | ``--keep-last``, ``--keep-secondly`` | number of secondly archives to keep |
|
|
|
|
+-----------------------------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------+
|
|
|
|
| | ``--keep-minutely`` | number of minutely archives to keep |
|
|
|
|
+-----------------------------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------+
|
|
|
|
| | ``-H``, ``--keep-hourly`` | number of hourly archives to keep |
|
|
|
|
+-----------------------------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------+
|
|
|
|
| | ``-d``, ``--keep-daily`` | number of daily archives to keep |
|
|
|
|
+-----------------------------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------+
|
|
|
|
| | ``-w``, ``--keep-weekly`` | number of weekly archives to keep |
|
|
|
|
+-----------------------------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------+
|
|
|
|
| | ``-m``, ``--keep-monthly`` | number of monthly archives to keep |
|
|
|
|
+-----------------------------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------+
|
|
|
|
| | ``-y``, ``--keep-yearly`` | number of yearly archives to keep |
|
|
|
|
+-----------------------------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------+
|
|
|
|
| | ``-c SECONDS``, ``--checkpoint-interval SECONDS`` | write checkpoint every SECONDS seconds (Default: 1800) |
|
|
|
|
+-----------------------------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------+
|
|
|
|
| .. class:: borg-common-opt-ref |
|
|
|
|
| |
|
|
|
|
| :ref:`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". |
|
|
|
|
+-----------------------------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------+
|
|
|
|
| | ``--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. |
|
|
|
|
+-----------------------------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------+
|
2024-02-20 16:11:43 +00:00
|
|
|
| | ``--older TIMESPAN`` | consider archives older than (now - TIMESPAN), e.g. 7d or 12m. |
|
2023-02-26 20:30:28 +00:00
|
|
|
+-----------------------------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------+
|
|
|
|
| | ``--newer TIMESPAN`` | consider archives newer than (now - TIMESPAN), e.g. 7d or 12m. |
|
|
|
|
+-----------------------------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------+
|
2017-06-20 09:49:26 +00:00
|
|
|
|
2017-06-20 13:22:24 +00:00
|
|
|
.. raw:: html
|
2016-04-09 23:28:18 +00:00
|
|
|
|
2017-06-20 13:22:24 +00:00
|
|
|
<script type='text/javascript'>
|
2017-06-20 13:48:30 +00:00
|
|
|
$(document).ready(function () {
|
2017-06-20 13:22:24 +00:00
|
|
|
$('.borg-options-table colgroup').remove();
|
|
|
|
})
|
|
|
|
</script>
|
2017-06-20 09:53:36 +00:00
|
|
|
|
2017-06-20 13:22:24 +00:00
|
|
|
.. only:: latex
|
2017-06-20 09:53:36 +00:00
|
|
|
|
2016-04-09 23:28:18 +00:00
|
|
|
|
2017-06-20 13:22:24 +00:00
|
|
|
|
2022-11-26 21:23:17 +00:00
|
|
|
options
|
2017-06-20 13:22:24 +00:00
|
|
|
-n, --dry-run do not change repository
|
2020-10-04 18:32:38 +00:00
|
|
|
--force force pruning of corrupted archives, use ``--force --force`` in case ``--force`` does not work.
|
2017-06-20 13:22:24 +00:00
|
|
|
-s, --stats print statistics for the deleted archive
|
|
|
|
--list output verbose list of archives it keeps/prunes
|
2023-06-11 21:09:20 +00:00
|
|
|
--short use a less wide archive part format
|
|
|
|
--list-pruned output verbose list of archives it prunes
|
|
|
|
--list-kept output verbose list of archives it keeps
|
|
|
|
--format FORMAT specify format for the archive part (default: "{archive:<36} {time} [{id}]")
|
2017-07-23 15:12:01 +00:00
|
|
|
--keep-within INTERVAL keep all archives within this time interval
|
2017-06-20 13:22:24 +00:00
|
|
|
--keep-last, --keep-secondly number of secondly archives to keep
|
|
|
|
--keep-minutely number of minutely archives to keep
|
|
|
|
-H, --keep-hourly number of hourly archives to keep
|
|
|
|
-d, --keep-daily number of daily archives to keep
|
|
|
|
-w, --keep-weekly number of weekly archives to keep
|
|
|
|
-m, --keep-monthly number of monthly archives to keep
|
|
|
|
-y, --keep-yearly number of yearly archives to keep
|
2022-08-03 20:19:12 +00:00
|
|
|
-c SECONDS, --checkpoint-interval SECONDS write checkpoint every SECONDS seconds (Default: 1800)
|
2017-06-20 13:22:24 +00:00
|
|
|
|
|
|
|
|
|
|
|
:ref:`common_options`
|
|
|
|
|
|
|
|
|
|
2017-07-23 15:12:01 +00:00
|
|
|
Archive filters
|
2022-10-02 13:51:17 +00:00
|
|
|
-a PATTERN, --match-archives PATTERN only consider archive names matching the pattern. see "borg help match-archives".
|
2023-02-26 20:30:28 +00:00
|
|
|
--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.
|
2024-02-20 16:11:43 +00:00
|
|
|
--older TIMESPAN consider archives older than (now - TIMESPAN), e.g. 7d or 12m.
|
2023-02-26 20:30:28 +00:00
|
|
|
--newer TIMESPAN consider archives newer than (now - TIMESPAN), e.g. 7d or 12m.
|
2017-06-20 09:49:26 +00:00
|
|
|
|
2017-06-17 10:28:42 +00:00
|
|
|
|
2015-11-13 15:42:16 +00:00
|
|
|
Description
|
|
|
|
~~~~~~~~~~~
|
|
|
|
|
2016-07-03 14:27:02 +00:00
|
|
|
The prune command prunes a repository by deleting all archives not matching
|
2018-07-12 20:00:19 +00:00
|
|
|
any of the specified retention options.
|
|
|
|
|
|
|
|
Important: Repository disk space is **not** freed until you run ``borg compact``.
|
|
|
|
|
|
|
|
This command is normally used by automated backup scripts wanting to keep a
|
2022-01-23 14:52:21 +00:00
|
|
|
certain number of historic backups. This retention policy is commonly referred to as
|
|
|
|
`GFS <https://en.wikipedia.org/wiki/Backup_rotation_scheme#Grandfather-father-son>`_
|
|
|
|
(Grandfather-father-son) backup rotation scheme.
|
2015-11-13 15:42:16 +00:00
|
|
|
|
2016-07-05 23:33:53 +00:00
|
|
|
Also, prune automatically removes checkpoint archives (incomplete archives left
|
|
|
|
behind by interrupted backup runs) except if the checkpoint is the latest
|
|
|
|
archive (and thus still needed). Checkpoint archives are not considered when
|
2017-06-17 10:28:42 +00:00
|
|
|
comparing archive counts against the retention limits (``--keep-X``).
|
2016-07-05 23:33:53 +00:00
|
|
|
|
2022-10-02 13:51:17 +00:00
|
|
|
If you use --match-archives (-a), then only archives that match the pattern are
|
2016-07-05 23:33:53 +00:00
|
|
|
considered for deletion and only those archives count towards the totals
|
|
|
|
specified by the rules.
|
|
|
|
Otherwise, *all* archives in the repository are candidates for deletion!
|
2016-11-28 01:25:56 +00:00
|
|
|
There is no automatic distinction between archives representing different
|
2022-09-10 14:03:27 +00:00
|
|
|
contents. These need to be distinguished by specifying matching globs.
|
2016-07-05 23:33:53 +00:00
|
|
|
|
|
|
|
If you have multiple sequences of archives with different data sets (e.g.
|
|
|
|
from different machines) in one shared repository, use one prune call per
|
2022-10-02 13:51:17 +00:00
|
|
|
data set that matches only the respective archives using the --match-archives
|
2022-09-10 14:03:27 +00:00
|
|
|
(-a) option.
|
2015-11-13 15:42:16 +00:00
|
|
|
|
2023-09-14 13:52:08 +00:00
|
|
|
The ``--keep-within`` option takes an argument of the form "<int><char>",
|
|
|
|
where char is "H", "d", "w", "m", "y". For example, ``--keep-within 2d`` means
|
|
|
|
to keep all archives that were created within the past 48 hours.
|
|
|
|
"1m" is taken to mean "31d". The archives kept with this option do not
|
|
|
|
count towards the totals specified by any other options.
|
|
|
|
|
2016-07-05 23:33:53 +00:00
|
|
|
A good procedure is to thin out more and more the older your backups get.
|
2017-06-17 10:28:42 +00:00
|
|
|
As an example, ``--keep-daily 7`` means to keep the latest backup on each day,
|
2016-07-05 23:33:53 +00:00
|
|
|
up to 7 most recent days with backups (days without backups do not count).
|
|
|
|
The rules are applied from secondly to yearly, and backups selected by previous
|
|
|
|
rules do not count towards those of later rules. The time that each backup
|
2023-02-26 20:30:28 +00:00
|
|
|
starts is used for pruning purposes. Dates and times are interpreted in the local
|
|
|
|
timezone of the system where borg prune runs, and weeks go from Monday to Sunday.
|
|
|
|
Specifying a negative number of archives to keep means that there is no limit.
|
|
|
|
As of borg 1.2.0, borg will retain the oldest archive if any of the secondly,
|
|
|
|
minutely, hourly, daily, weekly, monthly, or yearly rules was not otherwise able to
|
|
|
|
meet its retention target. This enables the first chronological archive to continue
|
2021-02-06 00:32:02 +00:00
|
|
|
aging until it is replaced by a newer archive that meets the retention criteria.
|
2016-07-05 23:33:53 +00:00
|
|
|
|
2017-06-17 10:28:42 +00:00
|
|
|
The ``--keep-last N`` option is doing the same as ``--keep-secondly N`` (and it will
|
2016-07-05 23:33:53 +00:00
|
|
|
keep the last N archives under the assumption that you do not create more than one
|
2017-11-25 13:35:52 +00:00
|
|
|
backup archive in the same second).
|
|
|
|
|
|
|
|
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.
|
2023-06-11 21:09:20 +00:00
|
|
|
Please note that the "All archives" stats refer to the state after pruning.
|
|
|
|
|
|
|
|
You can influence how the ``--list`` output is formatted by using the ``--short``
|
|
|
|
option (less wide output) or by giving a custom format using ``--format`` (see
|
2023-09-14 13:52:08 +00:00
|
|
|
the ``borg rlist`` description for more details about the format string).
|