2

1 つの「展開」コンピューターと複数の「ターゲット」コンピューター間でコードをコピーする良い方法を見つけようとしています。ファイルがターゲット サーバーにコピーされることになっているため、展開コンピューターはファイルのコピーを保持するという考え方です。数十のターゲット サーバーが関係する可能性があるため、コピーを並行して実行したいと考えています。

現在のスキームではrsync、展開サーバー上でターゲット サーバーを最新の状態に保つために、ファイルが存在する格納ディレクトリを同期するために使用されます。

したがって、質問は次のとおりです。

  1. これを行うための良い/より良い方法は何ですか?
  2. これを行うためにどのような種類のツールが使用されていますか?
  3. この問題は、私が完全に見逃している別の角度または視点から直面する必要がありますか?

どうもありがとう!

4

3 に答える 3

1

debian ベースのオペレーティング システムで利用可能な clusterssh というプログラムがあります (ただし、RPM を使用して RHEL 6.3 にインストールし、他の依存関係を解決することができました)、単一の入力で複数のマシンの ssh ターミナルを開くことができます。場所 (これにより、開いているターミナルと同じ数のマシンに 1 回入力できます)。次に、単純な scp を使用するだけです。私はこのプログラムを使用して、開発ワークステーションから同時に 25 もの他のワークステーションにファイルを移動しましたが、このオプションは、質問で述べたこと、つまりコピーを達成しようとしている場合にのみ本当に役立ちます。ファイルを 1 台のコンピューターから他の複数のコンピューターに転送します。

これは効果的な同期メカニズムではありません。本当に同期したい場合は、上記の答えが最適です。

于 2013-07-02T22:39:05.463 に答える
1

もう 1 つのオプションは、並列分散シェルである pdsh です。これは EPEL から入手でき、複数のノードで (ssh 経由で) リモート コマンドを並行して実行できます。例えば:

pdsh -w node10,node11,node12 command

3 つのノードすべてで「コマンド」を並行して実行します。また、入力を少し減らして同じことを行う便利なホスト名表現機能もあります。

pdsh -w node[10-12] command

また、ファイルを複数のノードに並行してコピーする pdcp コマンドも含まれます。(pdcp を機能させるには、すべてのノードに pdsh パッケージをインストールする必要があります。)

pdcp -w node[10-12] /local/file /remote/dir/

ローカル ファイルは、3 つのノードすべての /remote/dir にコピーされます。

于 2013-07-02T23:06:50.243 に答える
1

lftp コマンドを使用して、リモート Web サーバーをローカル バックアップ マシンに同期します。サーバー上のすべてのバックアップをローカル ボックスに自動的に同期する BaSH スクリプトを作成し、そのスクリプトを夜間に実行するように cron に設定しました。

rsync はこれを処理する優れた方法です。現在のプロトコルを cron セットアップに移動することをお勧めします。

Unisonは、必要に応じて双方向同期を設定するためのツールでもあります。

お役に立てれば!

于 2013-07-02T22:15:11.700 に答える