원문 : 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 108693
111 os runlevel 관련 명령어 조인상 2010.05.11 18115
110 AIX OS에서 time zone을 변경 하는 방법 조인상 2010.05.11 18140
109 [매뉴얼] IBM p시리즈 머신에 레드햇리눅스 설치하기 file 조인상 2010.05.12 18234
108 p시리즈 장비별 설치/동작환경(site-planning nutshell) file 조인상 2010.05.11 18499
107 Command is Respawning Too Rapidly. 3A30359F 조인상 2010.06.17 18523
106 .sh_history 파일에 time stamp 찍는 법 조인상 2011.03.04 18524
105 AIX 기본 설치 사항 조인상 2010.05.11 18618
104 Display System Environmental Sensors 조인상 2010.05.11 18672
103 syslog 떨어 뜨리는 방법 조인상 2010.05.11 19011
102 SMIT Fast Paths 조인상 2010.05.11 19041
101 AIX에서 dump 강제로 받는 방법 file 조인상 2010.06.09 19296
100 p5 서버 System Attention Indicator LED 끄기 조인상 2010.05.11 19349
99 메뉴얼 링크 [1] 조인상 2010.05.11 19413
98 AIX 에서 Hot-Plug 방식으로 카드 추가하기 file 조인상 2011.08.01 19420
97 32KB 이상 파일 복사시 out of memory 에러 발생에 대한 복구(indirect segment 문제) 조인상 2010.06.10 19508
96 AIX에서_JDK(JAVA)_다운로드_및_설치방법 [1] file 조인상 2010.05.11 19783
95 telnet 관련사항.... 조인상 2010.05.11 19908
94 IBM Integrated Virtualization Manager White Book (IVM 백서) file 조인상 2012.01.03 20121
93 네트웍카드 NIC 에서 en ent et 의 차이점 file 조인상 2010.05.11 20135
92 네트웍 관련 (IP 세팅, 라우팅 세팅, 속도 세팅) [1] 조인상 2010.05.11 20229
서버에 요청 중입니다. 잠시만 기다려 주십시오...