
다양한 서버에 연결하고 해당 서버에서 명령을 실행하는 스크립트를 로컬에서 실행할 수 있어야 합니다. 이를 달성하는 가장 좋은 방법은 무엇입니까?
답변1
개인적으로 나는카피스트라노. 친근하고 Ruby로 작성되었으며 이미 여러분을 위해 모든 어려운 작업을 수행했습니다.
위키피디아에서:
Capistrano는 SSH를 통해 여러 원격 시스템에서 명령을 병렬로 실행하기 위한 유틸리티이자 프레임워크입니다.
답변2
를 사용하여 명령을 실행할 수 있습니다 ssh hostname command
. 실행해야 하는 전체 스크립트가 있는 경우 먼저 scp를 사용하여 원격 호스트로 전송한 다음 ssh를 사용하여 실행합니다.
scp script.sh host:script.sh
ssh host ./script.sh
답변3
답변4
빠른 bash 'for' 루프가 가장 쉬울 수 있습니다. 아마도 다음과 같습니다:
for h in host1 host2 host3
do
echo $h
ssh user@$h "ps -ef"
done
물론 cfengine/puppet/chef/capistrano가 더 나은 구성 관리 옵션입니다. 다양한 쉘에 대화형으로 명령을 보내고 싶다면 Clusterm(http://sourceforge.net/projects/clusterm/)도 확실한 선택입니다.