원문 : 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 108713
131 일명 '돼지코' 전원탭과 탭코드를 연결하는 법 조인상 2010.05.11 20824
130 number of process 개수 조정법 조인상 2010.05.11 20616
129 P5 전면 Display 패널에 관하여 [1] file 조인상 2010.05.11 20597
128 Installation and Initial Configuration of the CDE 조인상 2010.05.11 20580
127 Power7, HACMP, Oracle RAC, WAS, PowerVM, VIO [9] 조인상 2010.11.17 20545
126 mksysb 백업중 부팅불가할지도모른다는 메시지 나올경우. 조인상 2010.05.11 20504
125 java heap memory 관련에러 조인상 2010.05.11 20503
124 GPFS ver.3 Manual [1] 조인상 2011.12.01 20498
123 [AIX] NFS service 조인상 2010.05.11 20457
122 케이블 라벨링 탭 file 조인상 2010.05.11 20438
121 CDE 설치 및 초기구성 [1] file 조인상 2010.05.11 20422
120 네트웍 관련 (IP 세팅, 라우팅 세팅, 속도 세팅) [1] 조인상 2010.05.11 20229
119 네트웍카드 NIC 에서 en ent et 의 차이점 file 조인상 2010.05.11 20137
118 IBM Integrated Virtualization Manager White Book (IVM 백서) file 조인상 2012.01.03 20121
117 telnet 관련사항.... 조인상 2010.05.11 19908
116 AIX에서_JDK(JAVA)_다운로드_및_설치방법 [1] file 조인상 2010.05.11 19783
115 32KB 이상 파일 복사시 out of memory 에러 발생에 대한 복구(indirect segment 문제) 조인상 2010.06.10 19508
114 메뉴얼 링크 [1] 조인상 2010.05.11 19424
113 AIX 에서 Hot-Plug 방식으로 카드 추가하기 file 조인상 2011.08.01 19420
112 p5 서버 System Attention Indicator LED 끄기 조인상 2010.05.11 19349
서버에 요청 중입니다. 잠시만 기다려 주십시오...