LoginSignup
20
21

More than 5 years have passed since last update.

EC2上でmysqldumpしてS3にバックアップする

Last updated at Posted at 2015-06-10

EC2インスタンス上でmysqldumpを実行して、ダンプファイルをS3バケットに送る手順です。

事前準備

クレデンシャルの登録をしておきます。

aws configure set aws_access_key_id <ACCESS_KEY_ID>
aws configure set aws_secret_access_key <SECRET_ACCESS_KEY>
aws configure set default.region ap-northeast-1
# regionは適宜変更のこと

バックアップスクリプトを作成します。

/home/ec2-user/backup_db.sh

#!/bin/bash

# バックアップ対象のDB
databases=(hoge fuga)
for db in ${databases[@]}; do
 filename=/tmp/${db}.sql
 mysqldump --quote-names --skip-lock-tables --single-transaction --flush-logs --master-data=2 $db > $filename
 aws s3 cp $filename s3://<バケット名>
 rm $filename
done

DBのバックアップを毎日午前5時に行うように設定します。

chmod 755 /home/ec2-user/backup_db.sh
(crontab -l; echo "0 5 * * * /home/ec2-user/backup_db.sh > /dev/null 2>&1") | crontab -

参考

mysqldumpのオプションについてはよく使うmysqldumpのオプションと使用例をご参考ください。
S3へのバックアップについては、 http://blog.serverfrog.jp/aws-cli-s3/ がよくまとまってます。

20
21
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
21