Package: backup2swift
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.RequirementsPython 2.7 later or Python 3.3 laterswiftsc 0.6.3 laterSetup$ pip install --user backup2swift
or
(venv)$ pip install backup2swiftUsageFirstly 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_idThe “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.txtFirstly 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.txtSecondly 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-113930Backup 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-114110See also man manual of bu2sw(1).See alsoOpenStack Object Storage Developer GuideswiftscToDocreate documentsHistory0.9.5 (2017-04-23)Updates swiftsc version.Supports Python 3.6.0.9.4 (2015-09-05)Adds handling of authentiction error.0.9.3 (2015-08-31)Change dependency swiftsc version (Supports Identity API v3).Supports Python 3.5 (3.5.0-rc2).Fixes requests-mock package name.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.pyRefine description.Thanks, Thomas Goirand.Bug fixImportError: No module named magic in travis-ci0.8 (2013-07-27)read the file from stdin pipeOmitted option of –container0.7 (2013-06-14)support Python 3.2, 3.30.6 (2013-06-03)support authentication of keystone0.5 (2013-05-30)New featuresupload / retrieve / delete in parallelsupport to delete multiple objectsBug fixfixes fail to raise IOError if default config file existsfail to use “rotate_limit” option on configuration filesupport pep8 less than version 1.30.4 (2013-05-29)New featuressupport default config filespecify any containersupport to retrieve multiple objectsspecify multiple upload filesBug fixfixes spelling errorremove pychecker for travis0.3.2 (2013-05-24)fixes fail backup and rotate with verifing default SSL certificate0.3.1 (2013-05-20)add option to ignore verifing of SSL certificate0.3 (2013-05-17)add retrieve backup object command0.2 (2013-05-10)add backup object commandfixes man manual0.1.3 (2013-05-10)applied changing api of swiftsc.client.is_container()add how to setup and usage0.1.2 (2013-05-09)fixes #3 failed to execute in python2.60.1.1 (2013-05-08)fixes #1 fail to execute firstly when there is no container0.1 (2013-05-08)first release