1

いくつかの ssh exec プラグインを使用して、Maven を使用してリモート サーバーでコマンドを実行する方法について少し調査しました。

ただし、サーバーを停止してから再起動するには、メニュー駆動型プログラムを起動するコマンドを実行する必要があります。

基本的に、次のタスクを順番に実行する必要があります。

  1. SSH を使用してリモート サーバーに接続する
  2. ユーザー名/パスでログイン
  3. ディレクトリを特定の場所に変更する
  4. その場所でコマンドを実行して、コマンド ライン メニュー駆動型プログラム (つまり " ./control")を起動します。
  5. そのメニュー駆動型プログラムに 2 つのコマンドを入力します。
  6. 切断する

2 つのコマンドは、次のように、コンソールに表示されるメニューからの選択肢を表す単なる数字です。

Enter the number of the server you wish to stop:
[1] server1
[2] server2
[3] server3

たとえば、「2」と入力します。これは可能ですか?

4

1 に答える 1

0

考えられる解決策の 1 つは、サーバー番号を引数として受け入れるリモート サーバー上に Perl スクリプトを記述することです。

その後、Perl のExpect.pmcontrolライブラリを使用して、入力を求めるプロンプトが表示されたときにこの引数をプログラムに提供できます。

これにより、リモート サーバー上でスクリプトを実行する Maven タスクが簡素化されます。これは、調査のおかげで満足していると思われます。

(以前に使用したことがない場合、Perl の Expect ライブラリはまさにこのユース ケース用に設計されており、対話型コマンド ライン プログラムに入力を自動的に提供します。)

于 2013-01-17T08:21:40.773 に答える