web-dev-qa-db-ja.com

コマンドプロンプトで自動ログインを使用してPuTTYでコマンドファイルを実行する方法

私は次のようにして自動的にリモートサーバーにログインし、commands.txtにリストされているコマンドを実行します。

C:\path\to\PuTTY.exe -load "[Sessionname]" -l [user] -pw [password] -m C:\path\to\commands.txt

commands.txtには以下が含まれます。

ps -elf|grep 'sometext'

しかし、そうしようとするとPuTTY用の新しいウィンドウが表示されますが、ログイン後すぐに閉じて終了します。その結果、コマンドの出力が表示されません。

ここで何が起こっているのかわかりません。私は自分のアプローチが間違っているのでしょうか、それともPuTTYウィンドウを終了する前にしばらく休止させるためにもっと多くのステップを踏む必要がありますか?

16
supportpb

plink.exeではなくPuTTY.exe(PuTTYバックエンドへのコマンドラインインターフェース)を使うべきです。

あなたは PuTTYダウンロードページからそれを得ます

plinkなし:

唯一の方法は-log <logfile>オプションを使用してから内容を印刷して削除することです。

10
Aviram Segal

まず、実行したいすべてのコマンドを含むファイルを別に作成する必要があります。

例:私はPuTTYを使って私のドメインに Drupal をダウンロードしてインストールしたいです。それをするためにあなたはしなければならない:

まず.txtファイルを作成します。そのファイル内にコマンドがあります。次の行の "drush dl drupal"、 "drush si --account-name = [アカウント名] --account-pass = [ [アカウントパス] --db-url = mysql:// [ユーザー]:[パス] @ localhost/[データベース名] --y "

そのファイルを保存したら、 BAT ファイルを作成するか、CMDプロンプトに入力します。

  • ssh.cmd
  • @echo on [あなたが起こっていることを見るために]
  • [PuTTYインストールに移動します。私のものは:] cd C:\ Program Files\PuTTY
  • PuTTY.exe -ssh [domain name] -l [username] -pw [password] -m [the directory of the .txt file you created which contains the codes you want to be executed]を起動
9
Jero Dungog

あなたのアプローチは良いように思えます、しかし、ここであなたを悩ませているそしておそらく何も起きていないとあなたに信じさせるようにしている振る舞いにおける1つのデフォルト設定があります。

しかし、そうしようとするとPuTTY用の新しいウィンドウが表示されますが、ログイン後すぐに閉じて終了します

あなたのセッションはコマンドが実行された直後に終了し、PuTTYはデフォルトでウィンドウを閉じます。あなたのセッションのためにこの振る舞いを変更する方法については PuTTY のドキュメントを見てください。

4.1.3 `Close Window on Exit'

   Finally in the Session panel, there is an option labelled `Close
   Window on Exit'. This controls whether the PuTTY terminal window
   disappears as soon as the session inside it terminates.
2
gertvdijk

Unixマシンを開くためのバッチファイルを作成したいだけなら問題はありません。以下はその例です。

"PuTTY path" -ssh machinename -l username -pw password

PuTTYパスは、 "C:\ Program Files\PuTTY\putty.ext"のように二重引用符で囲む必要があります。

machinename =二重引用符なしのmachinename

パスワード=引用符付き

0
user443234

Aviramの答えに加えて:

以下は、PromptコマンドからPuTTYコマンドを実行する方法の例です。

  • まずPuTTYのインストールディレクトリ(C:\Program Files\PuTTYなど)に移動してから、次のコマンドを実行します。

    plink.exe - sshserver_ip - Pport_no - luser_name - pwパスワード

0
Vishrant