다른 원격 컴퓨터에 연결하고 스크립트를 실행하는 명령이 있습니다. 나는 다음을 사용하여 이 작업을 수행합니다.
pssh -h pssh-hosts -l username -A -t 0 -i "bash -x commands.sh".
호스트 파일에는 많은 호스트가 있습니다. 호스트에서 컴퓨팅 집약적인 코드를 실행하고 o/p 파일을 생성합니다. 이 작업에는 6시간 이상이 걸릴 수 있습니다. 실행할 때 다음을 얻습니다.
./test
Write failed: Broken pipe
프로세스가 완료될 때까지 기다리는 것이 합리적입니까, 아니면 파이프가 끊어지면 (다른 원격 호스트에 있는) 출력 파일이 기록되지 않는다는 의미입니까?
답변1
현재로서는 이를 실제로 활용하기에는 정보가 충분하지 않을 수 있습니다.
스크립트는 각 시스템에서 실행 로그를 생성합니까? 그렇지 않은 경우에는 그렇게 하도록 수정하는 것이 좋습니다. (STDERR 및 STDIN이 기록되었는지 확인하십시오.)
메시지에서 제가 생각한 한 가지 - "./test"는 무언가가 상대 경로를 사용하고 있다는 것을 의미합니다. 스크립트를 다시 확인하고 모든 곳에서 절대 경로를 사용하도록 변경하는 것이 좋습니다. (대상 컴퓨터의 유틸리티가 배포가 다르기 때문에 다른 위치에 있는 경우 절대 경로를 동적으로 테스트하고 구축하십시오.)