원문 : http://www.ischo.net -- 조인상 // 시스템 엔지니어

Writer : http://www.ischo.net -- ischo // System Engineer in Replubic Of Korea

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

본문 : http://www.ischo.net -- 조인상 //시스템 엔지니어

+++++++++++++++++++++++++++++++++++++++++++++++++++++++


대부분의 프로그램들을 쉘스크립트를 이용하여 자동화 시킬수 있으나,



실행후 대화식의 프로그램은 자동화하기가 난감하다. (예를들면 telnet, ftp 등 로그인이 필요한 프로그램들)





이를 간편화하기 위해서 expect 라는 유틸리티를 이용할 수 있다.







1. 설치

http://www.bullfreeware.com 에서 AIX용 expect 바이너리를 다운받아서 설치하면된다.



단, expect 는 tcl 기반이므로 tcl도 함께 받아서 tcl 먼저 설치후 expect 를 설치하도록 한다.









2. 다음과 같은 스크립트를 이용한다.

----------------------------------------------------------------------------------------

#!/bin/ksh



### KLIS tomcat start
function tcstart
{
su - klismap -c /backup/raid/klis/klismap/start.sh
echo
sleep 1
}


### KLIS middleware stop
function midstop
{
EXPSH=/backup/raid/lmis/lmisdpv/ac41/bin/midstop.sh
su - lmisdpv -c $EXPSH
echo
}



tcstart

midstop

---------------------------------------------------------------------------



2개의 함수를 제작하여 함수를 차례대로 불러낸 스크립트 이다.



midstop 이라는 함수를 보면 /backup/raid/lmis/lmisdpv/ac41/bin/midstop.sh 파일을 불러내도록 되어있다.





/backup/raid/lmis/lmisdpv/ac41/bin/midstop.sh ---------------------------------------------------

cd
cd ac41/bin
./midstop2.sh

-----------------------------------------------------------------------------------------------

midstop2.sh 파일이 expect 문법으로 되어있는 스크립트 이다.

바로 불러오지 않은 이유는 반드시 ac41/bin 에서 실행되어야 하는 스크립트 이기 때문이다.





midstop2.sh ------------------------------------------------------------------------------------

#!/usr/local/bin/expect                  // expect 문법임을 명시

spawn ./cmdline                              // cmdline 실행후

expect -re "]:"                                  // ]: 와 같은 메시지가 나오게 되면
sleep 0.5
send "\r"                                        // 그냥 엔터를 친것과 같이 보냄

expect -re "word:"
sleep 0.5
send "\r"

expect -re "2:"
sleep 0.5
send "\r"

expect -re "]:"
sleep 0.5
send "\r"

expect -re "]:"
sleep 0.5
send "\r"

expect -re "/>"                                  // />와 같은 메시지가 나오면
sleep 0.5
send "cd Configurations\r"              //  cd Configurations 후 엔터를 보낸다.

expect -re "/Configurations>"
sleep 0.5
send "ls KLISMiddleWare\r"
sleep 2

expect -re "/Configurations>"
sleep 0.5
send "ls SystemMonitoringClient\r"
sleep 2

expect -re "/Configurations>"
sleep 0.5
#send "exit\r"
interact                                            // expect 명령어 종료하고 유저에게 제어권을 넘긴다.

--------------------------------------------------------------------------------------------------
번호 제목 글쓴이 날짜 조회 수
공지 [공지] 게시자료 열람자유. 불펌금지입니다. 조인상 2010.12.07 109999
131 볼륨그룹 이름 변경하기 조인상 2010.05.11 15482
130 etherchannel (teaming : 티밍) 구성방법 [1] file 조인상 2010.05.11 34485
129 아답터 hot plug(hot swap) 방법 조인상 2010.05.11 14900
128 네트웍카드 NIC 에서 en ent et 의 차이점 file 조인상 2010.05.11 20263
127 히다찌 어레이 aix 커스텀 패치 파일 secret 조인상 2010.05.11 1
126 rac architectre & cachefusion이해 secret 조인상 2010.05.11 0
125 hmc advanced topics secret 조인상 2010.05.11 1
124 고객의 QNA 로 본 powervm의 이해 secret 조인상 2010.05.11 0
123 AMS - active_memory_sharing 구축방법 file 조인상 2010.05.11 13302
122 tpmc 산정기준 secret 조인상 2010.05.11 0
121 AIX pseudo terminal 개수 조정하는 법 - telnet, vterm창 개수 에 영향 조인상 2010.05.11 16964
120 pSeries_Family_Nutshell - 20060907 file 조인상 2010.05.11 14105
119 LV 내에서 PP 옮기는 방법 조인상 2010.05.11 16018
» expect 스크립트를 이용한 KLIS 서비스 내리기 file 조인상 2010.05.11 17876
117 IBM p650 (7038-6M2) 최신 마이크로코드 3K080425 file 조인상 2010.05.11 16714
116 overview of aix page replacement file 조인상 2010.05.11 15437
115 errpt 4C41C0D0 : JFS2 LOG RECORDS FORCED OVERWRITTEN 조인상 2010.05.11 36539
114 IBM p670 Service Guide file 조인상 2010.05.11 17522
113 Network parameter setting 조인상 2010.05.11 16995
112 FIN_WAIT_2 상태에 대하여 조인상 2010.05.11 31399
서버에 요청 중입니다. 잠시만 기다려 주십시오...