원문 : 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 108679
111 패시브 커넥터(시리얼) 제작법(IBM p시리즈,AIX용) file 조인상 2010.05.11 13748
110 RAID 1+0 과 0+1의 차이점 file 조인상 2010.05.11 32645
109 AIX/pSeriese 관련 사이트 및 포럼 조인상 2010.05.11 15903
108 AIX OS기본설치 및 기초환경설정 방법 [4] file 조인상 2010.05.11 25265
107 장비별 OS 설치 가능버전 리스트 조인상 2010.05.11 17018
106 p시리즈 장비별 설치/동작환경(site-planning nutshell) file 조인상 2010.05.11 18499
105 [스크립트] 네모 전자결재시스템 자동up/down 대화식 스크립트 secret 조인상 2010.05.11 0
104 일명 '돼지코' 전원탭과 탭코드를 연결하는 법 조인상 2010.05.11 20824
103 IBM AIX expert 취득 로드맵 file 조인상 2010.05.11 21779
102 AIX CDE의 화면 해상도 변경 조인상 2010.05.11 16209
101 OS덤프용 alt_disk_install 스크립트 조인상 2010.05.11 17228
100 FIN_WAIT_2 상태에 대하여 조인상 2010.05.11 31055
99 Network parameter setting 조인상 2010.05.11 16918
98 IBM p670 Service Guide file 조인상 2010.05.11 17460
97 errpt 4C41C0D0 : JFS2 LOG RECORDS FORCED OVERWRITTEN 조인상 2010.05.11 36395
96 overview of aix page replacement file 조인상 2010.05.11 15379
95 IBM p650 (7038-6M2) 최신 마이크로코드 3K080425 file 조인상 2010.05.11 16641
» expect 스크립트를 이용한 KLIS 서비스 내리기 file 조인상 2010.05.11 17819
93 LV 내에서 PP 옮기는 방법 조인상 2010.05.11 15965
92 pSeries_Family_Nutshell - 20060907 file 조인상 2010.05.11 14050
서버에 요청 중입니다. 잠시만 기다려 주십시오...