基本的に、さまざまなスレッドとログファイルを監視するために、8台の端末をsshしてプルアップする必要があるコンピューターがあります。ビルドマシンから、これをすべて実行できるスクリプトが欲しいです。たとえば、メッセージキューを監視する場合は、次のようなものを実行します。
gnome-terminal --window-with-profile=NOCLOSEPROFILE -e "ssh root@IP 'watch ipcs'"
しかし、sshコマンドは適切に実行されないようです。私はこれを数十回繰り返し試してみましたが、運はありません。これが役立つ場合は、次のスクリーンショットをご覧ください。
だから基本的に、これをスクリプトに入れられるもの、あるいはコマンド可能なものにしたいので、IPアドレスと実行するコマンドが与えられたら、そのIPへのssh接続を開く新しいターミナルウィンドウが欲しいコマンドを実行します。
前もって感謝します
**編集これを実行し、上記のコマンドでほとんどのコマンドを実行できるようですが、watch
コマンドはssh
で機能しないため、おそらく構文上の問題ではありません。 watch
がここで機能しない理由があります。
gnome-terminal --window-with-profile=NOCLOSEPROFILE -e 'ssh -X root@$IP "tail -f /home/log/alog.log"'
正常に動作します?
複数のウィンドウを開いて(同じマシンに対して)複数のsshセッションを確立するのではなく、画面を見てください。ホストにsshし、画面を開始し、そこから実行するコマンドごとに1つずつ、複数の仮想コンソールを開くことができます。
画面の本当に素晴らしいところは、ssh接続を失った場合、新しい接続を作成して、実行中の画面セッションに再接続できることです。本当にかっこいいです。 tmuxもありますが、これは同様のプログラムです(異なるLinuxでどのように利用可能かはわかりません)。
Ttyを必要とする対話型コマンドを実行しようとしていますが、デフォルトでは、リモートマシンで実行するコマンドを指定したときにsshはttyを割り当てません。 -t
フラグを追加して、ttyの割り当てを強制します。