最初のサイトを EC2 マイクロ インスタンスに移動しました。現在、プロジェクトは機能しており、可能であれば Amazon (Glacier? S3?) 内でデータベースと画像フォルダーをバックアップしようとしています。私はそれについてたくさん読んだことがありますが、以前に誰かがこれをスクリプト化したと確信しています。
スタック: - Ubuntu Server 12.04 LTS - Apache 2.2.1 - PHP 5.4.4
最初のサイトを EC2 マイクロ インスタンスに移動しました。現在、プロジェクトは機能しており、可能であれば Amazon (Glacier? S3?) 内でデータベースと画像フォルダーをバックアップしようとしています。私はそれについてたくさん読んだことがありますが、以前に誰かがこれをスクリプト化したと確信しています。
スタック: - Ubuntu Server 12.04 LTS - Apache 2.2.1 - PHP 5.4.4
通常、防御の最前線として EBS スナップショットを使用します。EBS バックアップを 1 日に 1 回作成し、古いものを削除するスクリプトを作成します。クローンに入れます。
EBS/EC2 に重大な問題が発生した場合の「追加の保険」が必要な場合は、S3 を検討できます。s3sync
他の回答で指摘されているように使用してください。圧縮を使用することをお勧めします。EBS スナップショットの場合のように、バックアップ間で「コストを共有する」ことはありません。
Glacier では、復元に非常に長い待機時間 (数時間) と最小復元時間 (90 日より前に復元するとペナルティが発生します) があります。したがって、大量のバックアップを長期間保存する場合にのみ検討する必要があります。何時間もダウンしても大丈夫でない限り、これを災害復旧に使用することはできません。
これは非常に基本的なスクリプトです。手順は次のとおりです。
MYSQLDUMP へのスクリプトの例と S3 へのプッシュ
#!/bin/bash
MY_FOLDER="/__PATH_TO_WRITABLE_FOLDER__/"
NOW="`date +%Y-%m-%d-%R`"
FILE=$MY_FOLDER"___FILE_NAME___"$NOW".sql"
mysqldump -h localhost -u USER_DB -pPASSDB -c --add-drop-table --add-locks --quick --lock-tables DBNAME > $FILE
s3cmd put $FILE s3://___YOUR_BUCKET_NAME___
echo "`date -u`" "BACKUP DONE - MySQL uploaded to hipespace ^^ -> ".$FILE >> /var/log/my_backups_to_s3
ノート:
とにかく、これはデータベースをバックアップするためだけです.s3cmd docsを試してみてください.別のコマンド「sync」を使用してイメージをプッシュできます.
それが役に立てば幸い
これはかなり簡単です。おそらく、今のところ s3 を使用する必要があります。
s3cmd
。リポジトリですでに利用できる場合がありますこれらすべてを単純な bash スクリプトにまとめてスクリプト化し、定期的に cron で実行することができます。バックアップはパフォーマンスに多少の影響を与えるため、オフピーク時にスケジュールする必要があることに注意してください。