plink経由でMS-windowsからLinuxにコマンドを送信する

plink経由でMS-windowsからLinuxにコマンドを送信する

以下は、Windowsで実行するスクリプトです。このスクリプトはLinuxに接続し、次のような多くのコマンドを実行します。

  1. サーバーの停止
  2. 新しく解凍
  3. 新しく始める
plink -batch [email protected] -P 22 -l root -pw mypassword /bin/bash /opt/server/stop.sh
plink -batch [email protected] -P 22 -l root -pw mypassword rm -R /opt/server/ --force
plink -batch [email protected] -P 22 -l root -pw mypassword unzip /opt/server.zip -d /opt/
plink -batch [email protected] -P 22 -l root -pw mypassword /bin/bash /opt/server/start.sh

1つでコマンドを送信するにはplink

それは次のとおりです。

plink -batch [email protected] -P 22 -l root -pw mypassword /bin/bash /opt/server/stop.sh 
  & rm -R /opt/server/ --force 
  & unzip /opt/server.zip -d /opt/ 
  & /bin/bash /opt/server/start.sh

答え1

強くコマンドラインからパスワードを取得するクライアントは使用しないことをお勧めします。パスワードを入力したくない場合は、キーペアを作成してログインしてください。

しかし、この問題は他の場所で議論する必要があります。ご質問に集中させていただきます。 2つのオプションがあります。

  1. plink -batch [email protected] -P 22 -l root -pw mypassword sh -c "/opt/server/stop.sh && rm -R /opt/server/ --force && unzip /opt/server.zip -d /opt/ && /opt/server/start.sh"
  2. myscript.sh実行して使用したいアクションを実行するスクリプトを作成します。plink -batch [email protected] -P 22 -l root -pw mypassword myscript.sh

私はどこで&&もなく、&どこでも使っています。違い:

  • something &バックグラウンドプロセスとして実行しますsomething(必要なタスクではない可能性があります。
  • something && nextthing実行しsomething、戻りコードが0の場合にのみ実行しますnextthing。これは通常、完了と同じで大きな問題がないことを意味しますsomethingsomething

関連情報