データベースのデータをバックアップするのってみんなどうしています?
大体Shellを使ってコマンドでデータベースをダンプして日付毎にファイル作成しているよね?
でも、容量圧迫するのは将来的に見えているし、できれば他のサーバへアップロードしないとそのサーバダウンしたときが怖いしと色々不安なわけよ。
そこで、無料のサービスにホストすればいいんじゃねと思うわけですよね。
前思いついたことはGoogleDriveにアップロードすればいいかなと。
でも、5GB無料なだけでそれ以降のことは考えていない。
それじゃリソースを考えなくていいawsのs3はどうよ?
金かかるよね。(多分そんなにかからないと思うけど)
なので、ファイルはgitで管理してgithubやbitbucketへアップロードすればいいじゃなーい。
githubはプライベートだと有料なので、bitbucketを使います。
流れとしては、1.backup取得、2.gitへコミット、3.bitbucketへpush って感じです。
作成したscriptはこちら
#!/bin/bash DATE=`date +"%Y%m%d_%H%M"` SAVE_DIR="~/wordpress-sql-dump" # gitのリポジトリがあるディレクトリ MYSQL_COMMAND=/usr/bin/mysqldump DB_NAME="wordpress" # DBの名前 # exec command ${MYSQL_COMMAND} ${DB_NAME} >${SAVE_DIR}/${DB_NAME}.sql # git cd ${SAVE_DIR}/ git commit -am "Updating DB backup ${DATE}" git push origin master
ここを参考にしました。
Backup your Database in Git | Viget
注意すべきは、最初にリポジトリ作らないと実行できませんよ。
あとbitbucketにはパス無しでアップロードできるように鍵を登録しておかないとね。手順は下記。
これで運用していこう。んで、多分容量圧迫していくと思うけど経過観測していく。