後続のスクリプト実行を確立されたSSH接続シェルにパイプできます。

後続のスクリプト実行を確立されたSSH接続シェルにパイプできます。

SSH接続が成功した後にスクリプト部分を実行したいと思います。作成したいスクリプトを使用してログファイルを簡単に追跡できるようにしたいと思います。

進行中のスクリプトは次のとおりです。

echo "[Log Tunnel]" 
 
if [ "$1" == "foo" ] 
        then 
                echo "connecting to foo.dev.company.net" 
                ssh foo.dev.company.net        
                tail -f var/logs/staff/backend/backend.log # what's the way to do this
fi 
 
if [ "$1" == "bar" ] 
        then 
                echo "connecting to bar.dev.company.net" 
                ssh bar.dev.company.net         
fi 

スクリプトを実行すると、次のような結果が出ることが予想されます。

[Log Tunnel]
connecting to foo.dev.company.net
[email protected]'s password: ***********
# Output of Tail

SSH接続を確立し、起動後すぐに実行する必要がある後続のシェルに新しいスクリプトを渡すことができるかどうかを知りたいです。

編集する:

私の目標は、私のシェル内でリモートサーバーのログファイルを追跡することです。このスクリプトは、これらのログファイルを追跡する簡単な入力方法を簡素化する必要があります./rtail.sh foo。このコマンドを実行すると、シェルパラメーターで選択したリモートサーバーに基づいて、シェルが特定のテール出力を表示したいと思います。私はショートカットしたい:

  • SSH経由でリモートサーバーに
  • tail -f パス/to/logfile.log

答え1

私が正しく理解した場合は、次のようなものを探しています。


#!/bin/sh

echo "[Log Tunnel]" 
 
if [ "$1" = "foo" ] 
then 
  server="foo.dev.company.net"
  file="var/logs/staff/backend/backend.log"
elif [ "$1" = "bar" ]
then
  server="bar.dev.company.net"
  file="some/other/file"
fi

echo "connecting to $server" 
ssh "$server" tail -f "$file"

関連情報