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やメールを使って行えるようにしたいと思っております。