screen 으로 여러개의 서버 접속한 다음 동일 명령어 실행 방법 있나요?

qprk의 이미지

screen 에서

C-a c 해서 창을 여러개 만들고

각각의 창에서 여러대의 서버에 접속 한다음

열려있는 모든 창에 동일한 명령어를 날릴 수 있는 방법이 있나요??

ymir의 이미지

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』

woonuk의 이미지

오픈스택 설치 스크립트인걸로 기억하는데,
rc.local 에서 각 데몬들을 screen 명령어로 각각 다른 screen 윈도우에 실행하는 것을 보고
screen 명령을 이렇게도 활용할 수 있구나 하고 감탄했었지요.

핵심은
1. screen 실행할때 Session명을 지정
2. 각 창을 생성할때 Title 지정
3. 원하는 창에 명령 실행시 끝에 엔터 문자 꼭!!! 추가 (^M : vi 에서는 Ctrl+v, Ctrl+M 으로 입력하는데, 다른 에더터에선 어떻게 하는지 검색 필요)

다음처럼 쉘스크립트를 생성해서 실행합니다.

screen -d -m -S MySession -t Win1st
 
screen -S MySession -p Win1st -X stuff "echo 'This is 1st Window.'^M"
 
screen -S MySession -X screen -t Win2nd
screen -S MySession -X screen -t Win3rd
 
screen -S MySession -p Win2nd -X stuff "echo 'This is 2nd Window'^M"
screen -S MySession -p Win3rd -X stuff "echo 'This is 3rd Window'^M"
 
screen -ls
screen -r MySession