Metadata-Version: 2.0
Name: bupper
Version: 0.1.2
Summary: Very simple backup application intended to be run on cron to allow user-controllable remote backups
Home-page: https://github.com/michaelpb/bupper
Author: michaelb
Author-email: michaelpb@gmail.com
License: GPL3
Keywords: bupper
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: Environment :: Console
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)

bupper
======

.. figure:: https://badge.fury.io/py/bupper.png
   :alt: bupper badge

   bupper badge

.. figure:: https://travis-ci.org/michaelpb/bupper.png?branch=master
   :alt: travis badge

   travis badge

Simple backup application which allows per-directory backup control by
simply including a ``_BACKUP_THIS`` file.

How it works
------------

Bupper is very simple: it will recurse through a given directory,
looking for a special file indicating that it should be backedup
(``_BACKUP_THIS``), and then it will put that directory into a
``.tar.gz`` archive, named after the directory and the current time, and
``scp`` it to a given location.

This has few moving parts and works well for a simple household-backup
solution, where "whitelisting" a few important directories in your home
for backup via transfer to a local network host makes the most sense.

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

Assuming Python's ``pip`` is installed (for Debian-based systems, this
can be installed with ``sudo apt-get install python-pip``), bupper can
be installed directly from PyPI:

::

    pip install bupper

Python versions 3.3+ (and 2.6+) are supported and tested against.

Quick start
-----------

1. Think about how you will configure bupper. The main thing you will
   want to configure is the ``--remote`` flag, which should be remote
   host and path, or some sort of external storage, that would allow an
   SSH login:

   ::

       bupper \
       --source '/home/'\
       --remote 'backupuser@remote.host:/var/backups/bupper/'

2. **Note:** that 'source' does not actually back EVERYTHING up in that
   directory. Instead, it will recursively look for directories that
   contain a certain filename (``_BACKUP_THIS``).

3. Setup ``bupper`` with your chosen configuration to run on
   `cron <https://askubuntu.com/questions/2368/how-do-i-set-up-a-cron-job>`__
   at a regular time (such as daily).

4. (Optional) Add cron jobs that clean up old backups -- this is up to
   you how you want to do this.

Full usage
==========

::

    usage: bupper [-h] [-d DATE_FORMAT] [-v] [-s SOURCE] [-l LOCAL] [-r REMOTE]

    Simple backup script, no diffing or anything fancy.

    optional arguments:
      -h, --help            show this help message and exit
      -d DATE_FORMAT, --date-format DATE_FORMAT
                            date format in strftime
      -v, --verbose         increase output verbosity
      -s SOURCE, --source SOURCE
                            source directory to scan for bupper configs
      -l LOCAL, --local LOCAL
                            local storage of backups
      -r REMOTE, --remote REMOTE
                            remote storage of backups

Contributing
============

New features, tests, and bug fixes are welcome!






