シェルスクリプト:同じドメインのサーバーにログインしてコマンドを実行して終了します。

シェルスクリプト:同じドメインのサーバーにログインしてコマンドを実行して終了します。

私は10個のUnixサーバーを持っていて、1つずつログインして4〜5行のコードを実行し、出力を保存して終了しようとしています。

例:10コピー:

最初はxyzサーバーで

サーバー1へのログイン - >行4〜5の実行 - > xyzサーバーへの出力の送信 - >終了

サーバー2へのログイン - >行4〜5の実行 - > xyzサーバーへの出力の送信 - >終了

....

サーバー10へのログイン - >行4〜5の実行 - > xyzサーバーへの出力の送信 - >終了

最後にファイルがXYZサーバに出力されます。


たとえば、時間を1時間に巻き戻す、新しい時間を出力として使用し、新しい時間を次の形式でxyzサーバー上のファイルに保存するなど、いくつかの時間コマンドを実行したいと思います。

Server Name    New Time
===========    ========= 
Server1       Date and Time
Server2       Date and Time

ベストアンサー1

元の質問には多くの説明がなかったので、次のように推測します。

次のように、SSH 経由でリモート呼び出しを実行して、リモートサーバーでコマンドを実行できます。

result=`ssh -t server1.mydomain.com "commands;separated;by;semicolons --with-args" > log-on-xyz.log 2>&1` echo "$result"

リスト内の各サーバーを繰り返してこれを行います。最後に、ログ出力を画面に表示して削除できます。

コマンドをセミコロンで区切って「接続」することで、パラメーターを使用できます。また、リモート呼び出しでローカル変数をパラメータとして使用できます。

編集:これはBASHスクリプトですが、少し変更すると他の言語でも機能します。

おすすめ記事