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

Windowsから複数のLinuxサーバーでコマンドを実行する

Windows マシンから複数の Linux サーバーで同じ/繰り返しコマンドを実行する方法を学びます。このトリックは、コマンド ライン パテの「plink」ユーティリティを使用します。

sysadmin の主な懸念事項の 1 つは、使用できる一元化されたツールがない場合に、インフラ内の複数の Linux サーバーで同じ/繰り返しコマンドを実行することです。この投稿では、複数の Linux サーバーでコマンドを一度に実行する方法を説明します。アカウントのパスワードをどこにも保存する必要はなく、expect を持つ必要さえありません。 ソース マシンで機能します!

前提条件

  • plink がダウンロードされた Windows マシン (ここから plink をダウンロード)
  • Windows マシンから Linux サーバーにアクセスできる必要があります

やり方

plink は putty コマンドライン ユーティリティです。 plink を使用すると、コマンド ラインで IP、ユーザー名、パスワードを指定してサーバーに接続できます。 plink は、Windows のコマンド プロンプトから呼び出すことができます。

C:\Users\noname\Desktop>plink -ssh [email protected] -pw password@123 (hostname; date)
testserver
Tue Nov  1 12:54:33 IST 2016

C:\Users\noname\Desktop>

cmd と入力して、Windows コマンド プロンプトに移動します。 実行ウィンドウで (Windows キー + r)。 plink 実行可能ファイルが保存されているフォルダーに移動し、上記のように plink コマンドを入力します。

  • ssh:接続するプロトコル
  • id@server IP
  • pw:アカウントのパスワード
  • 中かっこ内の Linux サーバーで実行するコマンド

これがプリンクの仕組みです。複数のサーバーで同じコマンドを実行するには、以下の例を参照してください。 3 つのサーバーに接続し、ホスト名と日付のコマンドを実行します。

まず、3 つのサーバーの IP アドレスすべてを 1 つのファイル ip_list.txt に入れます。 .次に、コマンドプロンプトで以下のようにそのファイルに対して単純な for ループを実行します。これは非常に基本的なバッチ スクリプトです。

C:\Users\noname\Desktop>FOR /F "tokens=1,2* delims=," %G IN (C:\Users\noname\Desktop\ip_list.txt) DO plink -ssh user1@%G -pw password@123 (hostname; date)

testserver
Tue Nov  1 12:54:33 IST 2016

testserver1
Tue Nov  1 12:54:36 IST 2016

testserver2
Tue Nov  1 12:54:39 IST 2016

C:\Users\noname\Desktop>

出来上がり!すべてのサーバーのコマンド出力があります!一度にすべてのサーバーで実行されるコマンド。

これは、すべてのサーバーからの 1 行の出力を確認する必要がある場合、またはすべてのサーバーで一度にアカウント更新コマンドを実行したい場合に非常に便利です。


Linux
  1. PuTTY を使用して Windows から Linux で実行するコマンドを自動化する

  2. Linuxでplink.exeからsudoコマンドを実行する[windows]

  3. Linux でスーパーユーザーとして cd コマンドを実行する

  1. DSH –一度に複数のホストでLinuxコマンドを実行する

  2. Linux – Linuxからブートローダーを実行する方法は?

  3. Nagios:Windows/Linux でコマンドラインからの通知を無効にする

  1. Linuxでのコマンドの名前変更(複数のファイルの名前変更)

  2. デュアル ブートと VM の実行のどちらが優れていますか?

  3. Linux でコマンドライン インターフェイスから TeX を実行する方法