2012-02-25 5 views
1

私は、ファイルツリーとMySQLデータベースを同期する自動解決策を探していますが、私は同期を行うときにいくつかの基本的なファイル操作を実行したいと思います。現在、私のdevサーバはApacheとMySQLのローカルコピーを実行しているMacです。私のコードはすべてSVNに保存されています。ローカル(Mac)のdevサーバーとリモート(Linux)サーバーをPHPベースのWebサイトと同期させるには、最適で非過度の方法はありますか?

これまで、私はサーバー上でSVNの内容をチェックしてサーバー上の場所に移動する「ビルドスクリプト」を作成することができました。これは悪くありませんでした(確かに、サイトの最新バージョンをオンラインで入手する最速の方法でした。また、サイトをロールバックする必要がある場合に備えてバージョンコントロールを提供しました)が、MySQLでは何もしませんでした。

私がやろうとしていることを行うための良い/標準/「正しい」方法がありますか?私はライブサーバにdevデータベースを保存し、私の(ローカル)devマシンでリモートアクセスし、変更を移行する準備ができたらdevデータベースをサーバ上のライブDBにコピーするだけですか?

答えて

2

rsyncおそらくファイルを同期したいものです。パーミッションを含むすべてを保持することができ、バイナリブロブに対しても必要なネットワーク転送量を最小限に抑えるように最適化されています。

MySQLの場合:rsyncmysqldump出力、またはバイナリログを使用できます(同じデータベースバージョンを使用する場合はテーブルファイルをコピーしますが、それは面倒です)。

「正しい」方法はありません。通常は、ミラー化された環境を設定して作業を行うだけです。もちろん、理想的な世界では、あなたがdevのコピーに加えたすべての変更をスクリプト化するので、変更を移動するだけでライブサーバー上でスクリプトを実行することになります。

実行するスクリプトファイルは他の自動化されたソリューションと同様に優れています。

関連する問題