Backup data to OpenStack Swift
Project description
This tool is that backup data to OpenStack Swift. provides features are command line interface, and backup rotatition. This tool is depend on swiftsc, that is simple client library of OpenStack Swift.
Requirements
Python 2.6 or Python 3.2
swiftsc 0.3 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.
See also
ToDo
create documents
add unit test
History
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.