web-dev-qa-db-ja.com

重複とAmazonS3スクリプト

複製を使用してLinuxサーバーをAmazon S3にバックアップしたいと考えています。

私はそれをセットアップするのに役立つ素晴らしい ここのリソース を見つけ、そこにリストされていてここにコピーされた基本的なスクリプトを使用しています:

#!/bin/sh
# Export some ENV variables so you don't have to type anything
export AWS_ACCESS_KEY_ID=[your-access-key-id]
export AWS_SECRET_ACCESS_KEY=[your-secret-access-key]
export PASSPHRASE=[your-gpg-passphrase]

GPG_KEY=[your-gpg-key]

# The source of your backup
SOURCE=/

# The destination
# Note that the bucket need not exist
# but does need to be unique amongst all
# Amazon S3 users. So, choose wisely.
DEST=s3+http://[your-bucket-name]/[backup-folder]

duplicity \
    --encrypt-key=${GPG_KEY} \
    --sign-key=${GPG_KEY} \
    --include=/boot \
    --include=/etc \
    --include=/home \
    --include=/root \
    --include=/var/lib/mysql \
    --exclude=/** \
    ${SOURCE} ${DEST}

# Reset the ENV variables. Don't need them sitting around
export AWS_ACCESS_KEY_ID=
export AWS_SECRET_ACCESS_KEY=
export PASSPHRASE=

このスクリプトを改善したり、より良いスクリプトの作成に役立つベストプラクティスを共有したりできる、重複の経験がある人はいますか?

12
quickcel

そのスクリプトのバリエーションをバックアップに使用しています。私は最近、Amazon S3の請求書にいくらかのお金を節約するためにいくつかの変更を加えました(パーソナルサーバー、そうでなければ私はそれほど気にしなかったでしょう)。

完全なスクリプトは ここ ですが、私が行った変更を以下にリストします。

--full-if-older-than 1M
--volsize 250

最初のオプションでは、毎月、重複が完全バックアップを確実に実行します。これは、S3からファイルを削除する必要がある場合に、最新の完全バックアップに削除できることを意味するため、便利です。

2番目のオプションは、S3で複製ストアに保存されるファイルの数を減らします。これにより、S3に対して行われる要求の数が減り、コストが削減されます。

また、バックアップの実行後に以下を追加しました。これにより、6か月より古いバックアップがS3から削除されます。

duplicity remove-older-than 6M --force ${DEST}
15
Olly