2016-07-07 7 views
1

AWSのUbuntuインスタンスでWebシステムをホストしています。そのデータベースは頻繁にバックアップされることが非常に重要です。私は自動化されたインスタンスのスナップショットを見てきましたが、このソリューションは2つの理由から望ましくありません。インスタンス全体をバックアップするための過度の負荷と、私が見たすべてのガイドでは、cron job + gitを使用してライブデータベースを自動的にバックアップ

gitを使ってMySQLデータベースの変更を定期的にコミットし、リモートリポジトリにプッシュする小さなシェルスクリプトを作成することを検討しています。スクリプトは、cronジョブによってアクティブ化される必要があります。

私の質問です:このアプローチは機能しますか?私はこのソリューションがどこにでも提案されているのを見ていないので、私はここで何か不足していると思う。 データベースは決して50メガバイトを超えることはありません。

おかげ

答えて

2

はい、それは動作します - 私は私のペットのプロジェクトのために似た何かを使用しています。 mysqldumpの出力でさえもかなり親しみやすいので、diffsをきれいに見ることができます。

gitをバックアップに使用するのはあまり一般的ではありません。 gitよりも好ましいバックアップ専用に設計されたソリューションがあります。

+0

私の心配は、 "git commit"の実行中にデータベースに変更が加えられた場合、おそらくコミットが壊れてしまうことです。 データベースの容量はどれくらいありましたか? 私の訴えでは、トラフィックはかなり低く(<1000ヒット/日)、データベースのサイズもローエンドになっています。 – Vingtoft

+1

1日に100ヒット未満の非常にトラフィックの少ないサイトです。私のセットアップでは、mysqldump > database.sql'を実行し、結果として得られるsqlファイルをgitに追加します。同時のトラフィックがあってもmysqldumpは失敗しません。 – 1615903

+0

合意しました。 http://dba.stackexchange.com/questions/19532/safest-way-to-perform-mysqldump-on-a-live-system-with-active-reads-and-によれば、SQLダンプを生成する安全性アクティブな読み取りと書き込みを行うシステム上で実行されます。ありがとう – Vingtoft

関連する問題