AWSのUbuntuインスタンスでWebシステムをホストしています。そのデータベースは頻繁にバックアップされることが非常に重要です。私は自動化されたインスタンスのスナップショットを見てきましたが、このソリューションは2つの理由から望ましくありません。インスタンス全体をバックアップするための過度の負荷と、私が見たすべてのガイドでは、cron job + gitを使用してライブデータベースを自動的にバックアップ
gitを使ってMySQLデータベースの変更を定期的にコミットし、リモートリポジトリにプッシュする小さなシェルスクリプトを作成することを検討しています。スクリプトは、cronジョブによってアクティブ化される必要があります。
私の質問です:このアプローチは機能しますか?私はこのソリューションがどこにでも提案されているのを見ていないので、私はここで何か不足していると思う。 データベースは決して50メガバイトを超えることはありません。
おかげ
私の心配は、 "git commit"の実行中にデータベースに変更が加えられた場合、おそらくコミットが壊れてしまうことです。 データベースの容量はどれくらいありましたか? 私の訴えでは、トラフィックはかなり低く(<1000ヒット/日)、データベースのサイズもローエンドになっています。 – Vingtoft
1日に100ヒット未満の非常にトラフィックの少ないサイトです。私のセットアップでは、mysqldump> database.sql'を実行し、結果として得られるsqlファイルをgitに追加します。同時のトラフィックがあってもmysqldumpは失敗しません。 –
1615903
合意しました。 http://dba.stackexchange.com/questions/19532/safest-way-to-perform-mysqldump-on-a-live-system-with-active-reads-and-によれば、SQLダンプを生成する安全性アクティブな読み取りと書き込みを行うシステム上で実行されます。ありがとう – Vingtoft