원문 : 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 108753
131 SAS RAID controller for AIX [1] file ischo 2017.02.04 16966
130 장비별 OS 설치 가능버전 리스트 조인상 2010.05.11 17020
129 Memory – Paging Space 튜닝관리 조인상 2010.05.11 17202
128 시스템부팅이상시조치사항 조인상 2010.05.11 17210
127 OS덤프용 alt_disk_install 스크립트 조인상 2010.05.11 17228
126 IBM information center URL 조인상 2010.05.11 17269
125 IBM 시스템-영업&기술 유용한 싸이트 모음 조인상 2010.05.11 17315
124 AIX 5.1 ML-4 Overland 네오4000 백업장치 붙히는 방법 조인상 2010.05.11 17342
123 메모리 정보 확인 조인상 2010.05.11 17345
122 AIX5.3 TL04 이상 설치시 workload manager 제거 조인상 2010.05.11 17378
121 Virtual IO Server and Integrated Virtualization Manager Command Reference file 조인상 2010.12.21 17385
120 IBM p670 Service Guide file 조인상 2010.05.11 17460
119 mksysb & savevg &alt_disk_install 조인상 2010.05.11 17489
118 DAT Tape 사양 로드맵 file 조인상 2011.08.08 17589
117 errpt 내용 삭제하는 법 조인상 2010.05.11 17646
116 LV name과 마운트 이름 변경하기 조인상 2010.05.11 17684
115 AIX L1, L2, L3 cache 사이즈 확인하는 방법 조인상 2010.05.11 17720
» expect 스크립트를 이용한 KLIS 서비스 내리기 file 조인상 2010.05.11 17819
113 BC & x시리즈 전력량 계산기 file 조인상 2010.05.11 17835
112 파일 시스템 용량 증가시 "물리적 구획이 부족합니다."(0516-1034) 라는 메세지가 오류메세지 조인상 2010.05.11 17858
서버에 요청 중입니다. 잠시만 기다려 주십시오...