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"