Metadata-Version: 2.1
Name: backuppurge
Version: 1.0.6
Summary: Selectively purge daily full backups
Home-page: https://thp.io/2013/backuppurge/
Download-URL: https://thp.io/2013/backuppurge/backuppurge-1.0.6.tar.gz
Author: Thomas Perl
Author-email: m@thp.io
License: Simplified BSD License
Platform: UNKNOWN
License-File: LICENSE

Lists files in that should be purged in a backup strategy where daily backups
are kept for *DAYS* days, monthly backups for *MONTHS* months and yearly backups
for *YEARS* years. Monthly and yearly backups are always the oldest possible
daily backup (e.g. first of month and first of year that is available).

Files are expected to have their date embedded as ``YYYY-MM-DD`` somewhere in
the filename, e.g. ``homedir-2013-03-31.tgz``

For monthly and yearly backups, the first day available will be kept (e.g.
January 1st for yearly, but if that is not available, January 2nd will be
kept, etc..).

This program can be used together with xargs(1) from GNU findutils::

    backuppurge --print0 /var/backups/ | xargs -r -0 rm

Only files directly in the specified **DIRECTORY** will be searched (in the
above example, ``/var/backups/homedir-2013-03-31.tgz`` will be considered,
but not ``/var/backups/etc/etc-2013-03-31.tgz``). This prevents accidental
deletion of files. If --include-directories (-D) is used, directories directly
below the path will be included in the search (e.g. the directory
``/var/backups/etc-2015-07-24/`` will be included in the purge search).

This script assumes daily backups are FULL backups, not incremental. For
example, a full daily backup of your ``/etc`` can be created by adding
(``crontab -e``) a command like the following to your crontab(5) file::

    tar czf /var/backups/etc/etc-$(date +%F).tgz /etc

