scp 또는 ssh를 통해 스크립트의 출력을 원격 서버로 리디렉션

scp 또는 ssh를 통해 스크립트의 출력을 원격 서버로 리디렉션

SSH를 통해 모든 서버에 연결하고 각 실행의 출력을 표시하는 스크립트가 있습니다. 이 출력을 /var/tmp/filename_output.txton 으로 리디렉션할 수 있습니까 server1?

이 스크립트는 server1모든 서버에서 실행됩니다. 다음은 스크립트를 실행하고 출력을 저장하기 위해 실행하려는 명령입니다.

ssh server1
./script.sh > /var/tmp/filename_output.txt

ssh server2
./script.sh >> server1:/var/tmp/filename_output.txt

ssh server3
./script.sh >> server1:/var/tmp/filename_output.txt

답변1

편집하다:

몇 가지 테스트를 해왔는데 이와 같은 명령을 실행하면 로컬 출력이 표시됩니다.

ssh yourserver < ./your_script.sh > your_script.stdout

편집 종료


내 관점에서는 두 가지 옵션이 있습니다.

옵션 1

각 서버에서 script.sh를 실행하고 명령 출력을 원격 서버의 /var/tmp/filename_output.txt에 쓴 후

scp /var/tmp/filename_output.txt myserver:/prefered_location/server_name.log
rm /var/tmp/filename_output.txt

옵션 2

서버에서 NFS를 내보내고 네트워크의 모든 서버에서 가져와 마스터 서버를 가리키는 다른 모든 서버에 로컬 FS를 두고 명령 출력을 FS 내부의 파일에 넣어 NFS를 가리켜 문제를 해결합니다.

NFS를 내보내고 클라이언트 시스템으로 가져오는 방법에 대한 지침이 필요한 경우 알려주십시오.

관련 정보