다양한 서버에 연결하고 해당 서버에서 명령을 실행하는 스크립트를 로컬에서 실행할 수 있어야 합니다. 이를 달성하는 가장 좋은 방법은 무엇입니까?
답변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/)은 대화형으로 다양한 쉘에 명령을 보내려는 경우에도 좋은 선택입니다.