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"