Metadata-Version: 2.0
Name: btrfs-simple-snapshots
Version: 0.1.2
Summary: Snapshot you btrfs subvolumes and apply a retention policy
Home-page: https://github.com/ArnaudLevaufre/btrfs-simple-snapshots
Author: Arnaud Levaufre
Author-email: arnaud@levaufre.name
License: MIT
Keywords: btrfs snapshot subvolume backup
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: End Users/Desktop
Classifier: Topic :: System :: Filesystems
Classifier: Topic :: System :: Archiving :: Backup
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.7

Btrfs simple snapshots
======================

Take snapshots of your btrfs subvolumes and apply a retention policy in order
to keep your snapshot directory somewhat clean and small.

The retention policy, defined bellow, is hardcoded for now but it should be enought for the
average use case. I may adjust it, or provide a way to change it at runtime if needed.

* Hourly snapshots are kept for 24 hours
* Daily snapshots are kept for 4 weeks
* Weekly snapshots are kept for 12 weeks
* Monthly snapshots are kept for a year
* yearly snapshots are kept for 10 years

Every subvolume that should be snapshoted must be given as argument to the
script. For example if you want to snapshot every home directory created as
subvolumes and your `/etc` and `/srv` directory you would do

.. code-block::

  btrfs-simple-snapshots /home/* /etc /srv


Once done, you will find a new subvolume named `.snapshots` inside the
snapshoted subvolume with a name formated as `%Y-%m-%d-%H%M%S`

Installation
------------

Install from pip using `pip install btrfs-simple-snapshots`. Then you can run
it as root or with a user able to manage btrfs subvolumes. It is probably a
good thing to run it automatically with a cron job. Depending on you need you
may run it once per day (at 2 a.m.) to snapshot every home folder (created as
subvolumes) with this kind of job definition.

.. code-block::

  0 2 * * * python -m btrfs_simple_snapshots /home/*



