技術

【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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

Sequel Proで本番DBに接続できない!

こんにちは。たなかです。 最近はDIY記事ばかりでしたので、久々にエラー解消記事 …

【Alexa Skill】ビックリするなかれ (Unsupported Directive)

どうも中田です。 みなさんAlexa使ってます?Alexaスキル作ってます? 今 …

[Xcode] SDK Version Issue – This app was built with the iOS 12.0 SDK. Starting March 2019, all iOS apps submitted to the App Store must be built with the iOS 12.1 SDK or later, included in Xcode 10.1 or later.

こんにちは。たなかです。 2019年、ブログ初更新になります。今年もよろしくお願 …

no image

RailsとAngularの省略できるコマンドいくつか

こんにちはコーテッグのこやまです。 私はTypoが多い方なので、コマンドは短い方 …

no image

Macで簡単にIE環境を構築する手順

こんにちは、コーテッグの小山です。 今までちょろっとIE対応をやることはあったの …