원문 : 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 109079
211 SAS RAID controller for AIX [1] file ischo 2017.02.04 17130
210 AIX 환경에서 TCP dump 뜨기 [1] ischo 2014.12.05 29406
209 AIX에서 시스템의 hostname 변경하기 ischo 2013.04.30 45306
208 kill 과 함께 쓰이는 SIGNAL NUMBER 들 ischo 2013.02.16 28914
207 AIX에서 process 당 thead 개수 (maximum number of thread per process) ischo 2013.02.06 35452
206 AIX 6.1에 Apache 설치하기 ischo 2013.02.01 48839
205 AIX 시스템상의 core수 확인하기 ischo 2013.01.10 102220
204 named 1분 간격으로 검사하여 살리는 스크립트 [1] ischo 2012.12.26 28314
203 AIX 튜닝포인트 - CPU,MEM,VG + FAQ [1] ischo 2012.11.20 41777
202 lsof 설치 없이 해당 포트를 열고 있는 프로세스 확인하는 법 ischo 2012.10.17 58341
201 p시리즈 장비 OP패널에서 강제 shutdown 방법 조인상 2012.10.13 29332
200 [IBM] x시리즈 M3,M4 블레이드센터 제원 조인상 2012.10.06 25802
199 IBM System x Sales Tech and Sales School 조인상 2012.08.09 27449
198 Power6 System Reference Code 조인상 2012.08.09 26423
197 IBM x3650 M3 Service Guide file 조인상 2012.08.04 28482
196 펌웨어 업그레이드 for old p5 series Servers(SF240-417) file ischo 2012.07.26 28177
195 디버그툴 dbx 사용법 file 조인상 2012.07.26 33932
194 IBM AIX Version 6.1 Differences Guide file 조인상 2012.07.26 44187
193 IBM AIX Version 7.1 Differences Guide file 조인상 2012.07.26 34743
192 p시리즈 펌웨어 업데이트 방법 조인상 2012.07.20 35082
서버에 요청 중입니다. 잠시만 기다려 주십시오...