skip to navigation
skip to content

Not Logged In

backup2swift 0.8.1

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.

Requirements

  • Python 2.6 later or Python 3.2 later
  • swiftsc 0.5 later

Setup

$ git clone https://github.com/mkouhei/backup2swift
$ cd backup2swift
$ sudo python setup.py install

or via PyPI:

$ virtualenv --no-site-packages 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

[backup]
rotate_limit: 10

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).

Contribute

Firstly copy pre-commit hook script.:

$ cp -f utils/pre-commit.txt .git/hooks/pre-commit

Next install python2.6 later, and python-swiftsc, py.test. Below in Debian GNU/Linux Sid system,:

$ sudo apt-get install python python-swiftsc python-pytest pep8

Then checkout 'devel' branch for development, commit your changes. Before pull request, execute git rebase.

ToDo

  • create documents

History

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
 
File Type Py Version Uploaded on Size
backup2swift-0.8.1.tar.gz (md5) Source 2014-01-09 28KB
  • Downloads (All Versions):
  • 62 downloads in the last day
  • 465 downloads in the last week
  • 1861 downloads in the last month