Skip to main content

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.

https://secure.travis-ci.org/mkouhei/backup2swift.png?branch=devel https://coveralls.io/repos/mkouhei/backup2swift/badge.png?branch=devel https://pypip.in/v/backup2swift/badge.png

Requirements

  • Python 2.7 later or Python 3.3 later

  • swiftsc 0.5.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
#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).

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

History

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

Metadata

Release files for backup2swift 0.9.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for backup2swift 0.9.1
File Size Uploaded
backup2swift-0.9.1.tar.gz 28.9 kB Details

Release files / backup2swift-0.9.1.tar.gz

Download URL backup2swift-0.9.1.tar.gz
Size 28.9 kB
Tags Source
SHA-256 checksum
How to use checksums
74a0d648fbbdf41b08ad3016c363f6227698cf752c9f0158caf1bde0e4987191
BLAKE2b-256 checksum
How to use checksums
766c16302ccfe0c8e979c2588f96216d721ce38d2a42b052b805db83f4665c0f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

0.9.5

1 release file

0.9.4

1 release file

0.9.3

1 release file

0.9.2

2 release files

This release

0.9.1 This release

1 release file

0.9.0

1 release file

0.8.4

1 release file

0.8.3

1 release file

0.8.2

1 release file

0.8.1

1 release file

0.8

1 release file

0.7

1 release file

0.6

1 release file

0.5

1 release file

0.4

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3

1 release file

0.2

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page