여러 서버에 서로 다른 매개변수를 제공하면서 여러 Ubuntu 서버에서 애플리케이션을 병렬로 실행해야 합니다. 인터넷 검색을 시도했지만 가능한 해결책을 찾지 못했습니다. 나는 ssh/pdsh/parallel을 시도했지만 성공하지 못했습니다.
시나리오를 더 자세히 설명하기 위해 다음은 3개 서버 모두에서 병렬로 실행되어야 하지만 다른 매개 변수를 사용하여 실행되어야 pdsh
하는 작동하지 않는 예( 포함) 입니다. script.sh
참고로 저는 이미 공개/개인 SSH 키(비밀번호 로그인 없음)를 가지고 있습니다.
pdsh -w server1,server2,server3 -l username script.sh args
여기서 args
server1은 1이어야 하고, server2는 2여야 합니다.
pdsh
누구든지 Ubuntu의 도구나 사용 가능한 다른 도구를 사용하여 이를 달성하는 데 도움을 줄 수 있다면 매우 감사하겠습니다.
답변1
당신은 그것을 사용할 수 있습니다GNU 버전의 병렬성
예를 들어 를 통해 echo
매개변수를 사용하여 1
호출 하려면 10
각 명령을 echo
또는 다음 중 하나로 전달합니다.server.example.com
server2.example.net
seq 10 | parallel --sshlogin server.example.com,server2.example.net echo