GNU/Linux >> Linux の 問題 >  >> Linux

Sshを介して複数のサーバーで同じスクリプトを実行しますか?

一部のUbuntu12.04(Precise Pangolin)サーバー(Rackspace)を定期的に更新する必要があります。

私が今していることは:

  • SCPを使用してファイルをサーバーにコピーします
  • SSHを使用してサーバーにログオンします
  • Tomcatを停止する
  • アップロードされたファイルのコピーと移動を行います
  • Tomcatを起動する

2番目のサーバーの同じファイルでまったく同じプロセスを繰り返します(現在12台のサーバーがあり、その数は増え続けています)。

サーバーのリストをループして、これをすべて実行するスクリプトを作成することは可能ですか?


できれば、このソリューションでは何かをインストールする必要はありません。社内の大部分はMacBookで動作しますが、WindowsVMは豊富です。

理想的には、更新するサーバーを追加/削除するだけで、サーバーのリストを変更できます。ただし、同じことを+12回行う時間を節約できるソリューションは、非常にありがたいです🙂

承認された回答:

これにはいくつかの解決策があります。ステップを手動で制御し、それらを同時に実行したいですか? CSSH(Linuxシステムから来ている場合)またはSuperPutty(Windowsシステムから来ている場合)を見てください。単にすべてを自動化したい場合は、Expectをご覧ください。


Linux
  1. Bashスクリプトがエイリアスを認識しないのはなぜですか?

  2. フォルダから最も古いファイルを削除するためのBashスクリプト?

  3. 入力ファイルと同じ名前のファイルに保存する出力?

  1. すべての端末出力をファイルに保存しますか?

  2. Linux で SSH 経由で X アプリケーションを実行できない

  3. スクリプトの同じ行で stderr と stdout を別のファイルにリダイレクトする方法は?

  1. Linuxで上書きせずに同じファイルを読み書きしますか?

  2. $ pathにあるスクリプトの同じディレクトリの下にあるファイルを参照しますか?

  3. シェル スクリプトを使用してファイルの内容を変更する