現在位置: ホーム サービス ダウンロード PloneのデータベースファイルをバックアップしAmazon S3へ(c2.recipe.bkups3)

PloneのデータベースファイルをバックアップしAmazon S3へ(c2.recipe.bkups3)

概要

ZODBのファイルである、Data.fsとblobファイル群をバックアップファイルを作り、AWS S3に転送するレシピ

PyPI : http://pypi.python.org/pypi/c2.recipe.bkups3
作成者 : Manabu TERADA
動作環境 : SSLサポートされているPythonを使っている(Amazon S3への転送を行う場合
対応Plone : Plone4.0 以降

レシピの概要

* collective.recipe.backup (Plone4標準) を用いたData.fsのバックアップ。内部的にはrepozoを使ってバックアップしている。
* blobfolderのバックアップ
* Data.fsのバックアップファイルと、blobバックアップファイルをAmazon S3に転送

必須要件

* Plone4以降
* SSLサポートされているPythonを使っている(Unifideinstallerの場合、without-sslを指定していないこと)
* Amazon Web Service(AWS)のユーザアカウント
* Amazon S3 のバケット(Bucket) (事前に作っておく)

設定方法buildout.cfgに下記を追記:

parts =
...
bkups3

[bkups3]
recipe = c2.recipe.bkups3
use_s3 = true
aws_id = xxxxxxxxxxxxx
aws_key = xxxxxxxxxxxxxxxxxxxxxxxxxx
bucket_name = xxxxxxxxxx
bucket_sub_folder = mysitename
sync_s3_filesfolder = true
blob_store_count = 7

上記設定後、

bin/buildout -N

を行うと、下記の実行ファイルが出来上がり、動作を実行出来る。

bin/bkups3

設定パラメータの説明

blob_bk_dir_name
ローカルバックアップフォルダ名 defalut: blobbackups

use_s3default: false
S3に転送させるときは、trueとする

aws_id
<aws access key>aws_key<aws secret key>

bucket_name
<S3 bucket name> Amazon S3のbucket名

bucket_sub_folder
Option: S3上のサブフォルダ名

sync_s3_filesfolder
default: true Data.fsファイルのバックアップフォルダとS3上のフォルダの同期をとるかの設定。 もし、過去のものをS3上に全て残しておく場合は、falseを設定

blob_store_count
defalut : 1 blobバックアップファイルの保存個数。多くすると以前のものへの復旧ができるが、S3のデータが多くなる。

今後

SFTPやSCPでのファイル転送、フォルダ指定してそこにも転送することなどを実装したい。さらに、完了やエラー通知をAWS SNSやメールを使って行えるようにしたいと思っております。