技術

【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

【Rails】パッと簡単クロスドメイン対応

どうも、中田です。 最近専らRailsでは画面を作るというより、APIを作るとい …

no image

[Angular]APIから画像を取得して表示する

こんばんは アプリケーションを作っていてフロント側で画像を出すときって ストレー …

Chrome開発者ツールの背景を黒にする

普段コーディングしている時は、背景黒の方が目に優しい気がするのでエディターの背景 …

no image

【ionic】$ionic emulate ios で真っ白

どうも、なかたです。 「COTeggのバケツ」というブログを立ち上げました。 こ …

no image

【Rails】idのauto increment設定を削除する

こんにちは railsを触っていてidからauto incrementの設定を削 …