2012-02-22 9 views
1

業務時間後にライブサーバにプッシュする必要があるファイルは約200ファイルです。このプッシュに加えて、このロールアウトに関連して実行する必要のあるデータベースの更新がいくつかあります。多くのファイルをライブサーバにアップロードする際のベストプラクティス

過去にこのシステムで行われたことは、更新されたファイルのサーバー上にディレクトリを作成し、それらのファイルをコピーしてサーバー上の以前のバージョンを上書きするcronスクリプトを作成することです。そして、データベースへの呼び出しを実行します。何のステージングサーバーはありません

1):ここで

は私が回避しようとしている問題です。

2)たくさんのファイルやディレクトリ構造があります。私たちのライブサーバー

3)に、当社のバージョン管理(SVN)からプッシュする簡単な方法はありませんので、ディレクトリのコピーを深く設定されますサーバー上にコピーするのは不安定で時間がかかるようです。

これを行うにはどうすればよいですか?

+0

本当の組み合わせリビジョン/ビルド/デプロイシステムをインストールすることが不足しています。また、どのくらいの頻度でこれを行う必要がありますか、ファイルのリストがどのくらい変更されるかによって、ftpでループするシェルスクリプトを作成します'/src/path/file.txt remoteHost:/ alt/path/blah/blah /'のように、1行に2つのエントリだけを持つcfgファイルを使用します。また、そのファイルを使用して、ファイルエントリを比較する2回目のパスを実行することもできます(新しいファイルがコピーされたことを確認する)。他にもたくさんのことが考えられますが、詳細を知らないと、それ以上の意見を述べるのは難しいでしょう;-) ...幸運を祈る! – shellter

+0

データベース更新。うまくいけば、データベースの更新がファイルの1つに影響を及ぼす危険性があるか、その逆の可能性があるのか​​を知ってください。あなたが下のファイルを変更している間にライブDBが変更を受け入れる可能性はありますか?災害のレシピになる可能性があります。 -----このすべてを開始する前にバックアップを実行していますか?バックアップを復元しようと試みたことがありますか?私は、 "エンタープライズグレードのバックアップ"が宣伝されたように動作しなかった場所を見てきました。より多くのテストと計画があなたのために可能性が高いようです。彼らは歯科医で言うように、あなたが保つために歯を一本化するだけの時間を費やします。がんばろう! – shellter

答えて

0

私は、過去に同様のことをやった方法は、cronジョブがそのスクリプト管理マシンを実行させることです。

1)私はステージングのいくつかの並べ替えに私の本番サーバー上で必要なファイルをチェックアウト機械 2)rsyncが 3)(

しかし、あなたはステージングマシンを使用する能力を持っていないことを指定)サーバーにssh'ing経由で言うサーバー上のポストrsyncのスクリプトを実行するサーバーへのファイルですこれは管理マシンがまったくなく、サーバー上のリポジトリもチェックアウトできないということを意味します。それはこれをきれいにはるかに難しくしています。少なくともここでは、ワークステーションまたは同様のボックスを管理マシンまたはステージングマシンとして使用することはできませんか?