Metadata-Version: 2.0
Name: backup2swift
Version: 0.9.2
Summary: Backup data to OpenStack Swift
Home-page: https://github.com/mkouhei/backup2swift
Author: Kouhei Maeda
Author-email: mkouhei@palmtb.net
License: GNU General Public License version 3
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Internet
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Environment :: OpenStack
Requires-Dist: setuptools
Requires-Dist: swiftsc (>=0.6.3)
Provides-Extra: reST
Requires-Dist: Sphinx; extra == 'reST'

==============================================
backup2swift is backup data to OpenStack Swift
==============================================

This utility is used to backup data to OpenStack Swift.
It provides a command interface and backup rotation.
It depends on a simple client library called swiftsc.

.. image:: https://secure.travis-ci.org/mkouhei/backup2swift.png?branch=master
   :target: http://travis-ci.org/mkouhei/backup2swift
.. image:: https://coveralls.io/repos/mkouhei/backup2swift/badge.png?branch=master
   :target: https://coveralls.io/r/mkouhei/backup2swift?branch=master
.. image:: https://img.shields.io/pypi/v/backup2swift.svg
   :target: https://pypi.python.org/pypi/backup2swift

Requirements
------------

* Python 2.7 later or Python 3.3 later
* swiftsc 0.6.3 later


Setup
-----
::

   $ pip install --user backup2swift
   or
   (venv)$ pip install backup2swift

Usage
-----

Firstly setup configuration file. You may save the file name of your choice as setting. Example is as folloing::

  [swift]
  auth_url: https://example.org/auth/v1.0
  username: username
  password: password
  #ignore_verify_ssl_certification: True
  #timeout: 5.0

  [backup]
  rotate_limit: 10

  #[keystone]
  #tenant_id: tenant_id

The "auth_url" is swift authentication url, "username" and "password" are swift's. If you need to ignore verification of SSL certification, append option as "ignore_verify_ssl_certification: True" to [swift] section. "rotate_limit" is limitation count of rotation for backup. If this value is 3,  backup is as folloing;

backup target file name: example.txt

Firstly backup object is created as same name of backup target file (that is "example.txt")::

   $ bu2sw -c bu2sw.conf -p example.txt
   $ bu2sw -c bu2sw.conf -l
   example.txt

Secondly backup object is created as same name of backup target file, and first backup object is renamed added timestamp as "example.txt_YYYYMMDD-hhmmss".::

   $ bu2sw -c bu2sw.conf -p example.txt
   $ bu2sw -c bu2sw.conf -l
   example.txt
   example.txt_20130510-113930

Backup objects named with timestamp are created until "rotate_limit" value. Old backup object is remove when execute backup over limitation.::

   $ bu2sw -c bu2sw.conf -p example.txt
   $ bu2sw -c bu2sw.conf -l
   example.txt
   example.txt_20130510-113930
   example.txt_20130510-113941
   example.txt_20130510-113953
   $ bu2sw -c bu2sw.conf -p example.txt
   $ bu2sw -c bu2sw.conf -l
   example.txt
   example.txt_20130510-113941
   example.txt_20130510-113953
   example.txt_20130510-114110

See also man manual of bu2sw(1).

See also
--------

* `OpenStack Object Storage Developer Guide <http://docs.openstack.org/api/openstack-object-storage/1.0/content/index.html>`_
* `swiftsc <https://github.com/mkouhei/swiftsc>`_

ToDo
----

* create documents

History
-------

0.9.2 (2015-05-17)
^^^^^^^^^^^^^^^^^^

* Changes os.environ['HOME'] to os.expanduser('~').
* Changes httpretty to requests_mock.
* Supports wheel.
* Applies pep257 and fixes the violations.

0.9.1 (2015-03-17)
^^^^^^^^^^^^^^^^^^

* Fail creating object from stdin.

0.9.0 (2015-03-12)
^^^^^^^^^^^^^^^^^^

* Changed using swiftsc.Client().

  * This is supported swiftsc >= 0.6.0.

* Supported PyPy.
* Fixed some issues.

0.8.4 (2014-11-19)
^^^^^^^^^^^^^^^^^^

* Supported timeout option.

0.8.3 (2014-11-16)
^^^^^^^^^^^^^^^^^^

* Fixed #20 "rotate_limit" seems not to work.
* Unsupported Python3.2, PyPy.
* Appended pass through tox from python setup.py test.
* Integrated pylint, pychecker, pep8, flakes to Tox.
* Fixed violation of pylint.
* Fixed argument of exception at backup_file method.

0.8.2 (2014-05-10)
^^^^^^^^^^^^^^^^^^

* Refactoring.
* Apply tox for unit test.
* Support Python 3.4, PyPI.

0.8.1 (2014-01-10)
^^^^^^^^^^^^^^^^^^

* Append Python 3 classifier to setup.py
* Refine description.

  * Thanks, Thomas Goirand.

* Bug fix

  * ImportError: No module named magic in travis-ci

0.8 (2013-07-27)
^^^^^^^^^^^^^^^^

* read the file from stdin pipe
* Omitted option of --container

0.7 (2013-06-14)
^^^^^^^^^^^^^^^^

* support Python 3.2, 3.3

0.6 (2013-06-03)
^^^^^^^^^^^^^^^^

* support authentication of keystone

0.5 (2013-05-30)
^^^^^^^^^^^^^^^^

* New features

  * upload / retrieve / delete in parallel
  * support to delete multiple objects

* Bug fix

  * fixes fail to raise IOError if default config file exists
  * fail to use "rotate_limit" option on configuration file
  * support pep8 less than version 1.3

0.4 (2013-05-29)
^^^^^^^^^^^^^^^^

* New features

  * support default config file 
  * specify any container
  * support to retrieve multiple objects
  * specify multiple upload files

* Bug fix

  * fixes spelling error
  * remove pychecker for travis

0.3.2 (2013-05-24)
^^^^^^^^^^^^^^^^^^

* fixes fail backup and rotate with verifing default SSL certificate

0.3.1 (2013-05-20)
^^^^^^^^^^^^^^^^^^

* add option to ignore verifing of SSL certificate

0.3 (2013-05-17)
^^^^^^^^^^^^^^^^

* add retrieve backup object command

0.2 (2013-05-10)
^^^^^^^^^^^^^^^^

* add backup object command
* fixes man manual

0.1.3 (2013-05-10)
^^^^^^^^^^^^^^^^^^

* applied changing api of swiftsc.client.is_container()
* add how to setup and usage

0.1.2 (2013-05-09)
^^^^^^^^^^^^^^^^^^

* fixes #3 failed to execute in python2.6

0.1.1 (2013-05-08)
^^^^^^^^^^^^^^^^^^

* fixes #1 fail to execute firstly when there is no container

0.1 (2013-05-08)
^^^^^^^^^^^^^^^^

* first release



