これは何?

github上で見つけた ObjectStorageにバックアップをするためのスクリプト。 メジャーなIaaS環境では結構ObjectStorageがサポートされているし、値段的にも非常に安いのでObjectStorageにデータバックアップを取る手法を持っていたほうがいいですね。

  • Whole file delta backups - only changed/new files are uploaded saving you time/bandwidth.
  • Retention policies - deleted/updated files are kept for any desired length of time. These can also be disabled.
  • Threaded - Copying can always be the longest part, so backups are done in the background as file comparisions are being performed.
  • MD5 support - Swift automatically sets a default hash (md5) for every object. We support file comparisions using this hash instead of time/size variance.
  • Open source - MIT licensed (as is the object storage library).

使い方

gitからソースを取得する

1
2
3
$ git cline https://github.com/softlayer/softlayer-object-storage-backup.git
$ sudo pip install softlayer-object-storage
$ sudo pip install slbackup

設定の実施

1
$ ./slbackup.py --example > ~/.slbackup

設定ファイルの中に、username, apikey を設定します。またObjectStorageのどのデータセンターを利用するかも指定することが出来ます。

カレントディレクトリ以下をtestというコンテナに格納するのは以下のコマンドで実施できます。

1
$ ./slbackup.py -s ./ -o test

まとめ

機能的に変更分のみ、マルチスレッド対応なのでPerformanceも期待できるのだろうか。実際の運用を想定すると、(a) Restore (b) 履歴(世代)管理 (c) 圧縮 などの機能があると嬉しいですね。日本語のファイルなどはそのまま ObjectStorageに入れると文字コードなど問題ですこし不安です。とは言えこのスクリプトは簡単にバックアップを実現するという意味で現在全く利用していないユーザなどには良いと思います。