技術

【AWS】mysqldump&S3バックアップ。それは一瞬の出来事

投稿日:

こんにちは、中田です。

RDSでしっかりとバックアップ!
とまでしなくていい場合、どうやろうかとか色々考えるの面倒ですよね。
なので、これやっとけば一先ずバッックアップ取れるってやり方を残しておきます。

前提

OS:CentOS6.4
mysql:5.6
AWSのAPI-KEY, S3のバケット作成済みであること

流れ

1.AWSコマンドラインインターフェイス(aws-cli)導入
2.シェルスクリプト作成
3.cron設定

以上!

1.AWSコマンドラインインターフェイス(aws-cli)導入

pipを使ってインストール作業をする訳ですが、pipが入ってなかったのでまずはそこから。

$ curl -kL https://raw.github.com/pypa/pip/master/contrib/get-pip.py | sudo python
$ pip -V

はい、入りました。
では、aws-cliのインストールと初期設定を行います

$ sudo pip install awscli
$ aws configure

コマンド実行すると設定項目が聞かれます

AWS Access Key ID [None]: xxxxxxxxxx
AWS Secret Access Key [None]: xxxxxxxxxx
Default region name [None]: ap-northeast-1
Default output format [None]: json

AWS Access Key/AWS Secret Access Key は事前にAWSコンソール画面より作成したものを設定してください。

2.シェルスクリプト作成

aws-cliを使ってS3にバックアップをするシェルスクリプトを書きます

#!/bin/bash

BACKUP_PATH="/opt/data/"
S3_PATH="s3://data_backup/"
FILE_NAME="mysql_dump_`date +%Y%m%d%H%M%S`.sql.gz"

AWS_CONFIG_FILE="/home/centos/.aws/config"

cd $BACKUP_PATH
mysqldump -uAAAA -pBBBB CCCC | gzip > $FILE_NAME

find $BACKUP_PATH -type f -name "mysql_dump_*.sql.gz"  -mtime +14 -daystart | xargs rm -rf

aws s3 sync $BACKUP_PATH $S3_PATH  --delete

・BACKUP_PATHはmysqldumpファイルを格納する場所
・S3_PATHはバケットのパス
・mysqldumpの
AAAAはmysqlユーザー(前にスペースはいれない)
BBBBはパスワード(前にスペースはいれない)
CCCCは対象データベース
・findコマンドの行は、14日以降立ったものを削除してます
・最後の行はBACKUP_PATH毎同期を取ってます

3.cron設定

2.で作成したシェルをcronに設定して定期実行します

crontab -e

0 * * * * /home/centos/mysql_backup.sh

これで1時間毎、14日分のバックアップが自動で取れます。
いやはや、簡単簡単〜〜

感謝サイト
http://qiita.com/taiko19xx/items/215b9943c8aa0d8edcf6

-技術
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

HTMLエンティティを探すならHTML Arrowsがオススメ!

こんにちは htmlエンティティっていうのを聞いたことがありますか? アンパサン …

Ionicアプリのアイコンやスプラッシュ画像を変更したい!

こんにちは。田中です。 現在Ionicを使ったアプリ開発に携わっているのですが、 …

docomo雑談対話APIを使って会話BOTを作りました。(LINE BOT + Heroku + Rails + docomo雑談API)

こんばんは 前回、LINE BOTを無料で試してみました。heroku + Ra …

[Rails] バージョン上げるときに気をつけること

どうも中田です。 セキュリティ診断とかで引っかかってrailsのバージョンあげた …

no image

[TypeScript]enumを代入記法で書いた場合に、値からキーが取れるか調べてみた。

TypeScriptのenumのドキュメント(TypeScript Deep D …