원문 : http://www.ischo.net -- 조인상 // 시스템 엔지니어

Writer : http://www.ischo.net -- ischo // System Engineer in Replubic Of Korea

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

원문 : http://www.ischo.net -- 조인상 //시스템 엔지니어

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

 

#!/bin/ksh
######################################################################################
# script by ischo.
# http://www.ischo.net
# mail:chosim1@naver.com
# script description :
# Send mail to ${MAILADDR} if ${TARGET_SERVER}'s ${SERVER_PORT} port disabled
######################################################################################


# Environment
TARGET_SERVER=x.x.x.x
SERVER_PORT=80
SERVER_NAME=www.ischo.net
MAILADDR=chosim1@naver.com
STIME=`date +%Y%m%d%H%M%S`
MTIME=`date +%H:%M`
DDATE=`date +%Y%m%d`
PROGHOME=/home/admin
LOGFILE=${PROGHOME}/webserver.log
MAILFILE=${PROGHOME}/mail.txt
STATFILE=${PROGHOME}/laststat.txt

if [ ! -f ${STATFILE} ];
then
        echo "0" > ${STATFILE}
fi
cat /dev/null > ${MAILFILE}



# Check Webserver port
telnet ${TARGET_SERVER} ${SERVER_PORT} << !
^]
quit
!

# Sendmail if port disabled
if [ $? -eq 0 ];
then

        if [ `cat ${STATFILE}` -eq $? ];
        then
                echo "${DDATE} ${MTIME}  ${SERVER_NAME}(${TARGET_SERVER}) Webserver Alive" >> ${LOGFILE}
        else
                echo "${DDATE} ${MTIME}  ${SERVER_NAME}(${TARGET_SERVER}) Webserver port ${SERVER_PORT} Recovered." >> ${LOGFILE}
                echo "${DDATE} ${MTIME}  ${SERVER_NAME}(${TARGET_SERVER}) Webserver port ${SERVER_PORT} Recovered." >> ${MAILFILE}
                mail -s "${SERVER_NAME}(${TARGET_SERVER}) Webserver Recover Event!" ${MAILADDR} < ${MAILFILE}
                echo 0 > ${STATFILE}
        fi

else

        if [ `cat ${STATFILE}` -eq $? ];
        then
                echo "${DDATE} ${MTIME}  ${SERVER_NAME}(${TARGET_SERVER}) Webserver Down Detected." >> ${LOGFILE}
                echo "${DDATE} ${MTIME}  ${SERVER_NAME}(${TARGET_SERVER}) Webserver Down Detected." >> ${MAILFILE}
                echo "------------------------------------------------------------" >> ${MAILFILE}
                echo "${SERVER_NAME}(${TARGET_SERVER}) Webserver did not respond from ${SERVER_PORT} port check." >> ${MAILFILE}
                echo "Check ${SERVER_NAME} webserver daemon or OS." >> ${MAILFILE}
                echo "------------------------------------------------------------" >> ${MAILFILE}
                mail -s "${SERVER_NAME}(${TARGET_SERVER}) Webserver Down Event!" ${MAILADDR} < ${MAILFILE}
                echo 1 > ${STATFILE}

        else
                echo "${DDATE} ${MTIME}  ${SERVER_NAME}(${TARGET_SERVER}) Webserver remain Down stat." >> ${LOGFILE}
        fi
fi


 

 

 

 


 

번호 제목 글쓴이 날짜 조회 수
공지 [공지] 게시자료 열람자유. 불펌금지입니다. 조인상 2010.12.07 32454
64 kill 명령어로 줄수 있는 interrupt list ischo 2012.08.17 12808
63 apache log rotate 시키기 ischo 2012.08.14 17452
62 DNS 기초에서 보안까지 조인상 2012.07.26 11663
61 아파치. 톰캣 연동 (apache+tomcat by mod_jk) ischo 2012.04.18 17543
60 SELINUX 비활성화하기 ischo 2012.04.06 16157
59 CentOS 6 에서 XDMCP 활성화 방법 ischo 2012.02.25 15579
58 리눅스 커널이 64bit 인지 확인방법 ischo 2012.02.24 35289
57 복수서버들의 서비스포트 응답여부를 확인하여 메일로 보내주는 스크립트 file ischo 2012.01.17 14968
56 리눅스에서 디스크 덤프하기 ischo 2011.12.22 22268
55 telnet 으로 메일 보내기 ischo 2011.12.07 14654
» 웹서버 포트 무응답시 메일 보내주는 스크립트 file ischo 2011.11.30 11220
53 Shell 스크립트의 내장변수 + exit code ischo 2011.11.16 17123
52 프로세스 생사여부 검사후 메일보내는 쉘스크립트 file ischo 2011.11.10 13797
51 TCP/IP Flow file ischo 2011.10.19 11831
50 ssh 접속시 로그인 속도가 느릴경우 속도 향상법 ischo 2011.08.30 23285
49 백그라운드로 프로세스 실행시키기 ischo 2011.08.25 15053
48 TCP TIME_WAIT이 많이 발생하여 문제가 되는 경우 ischo 2011.08.18 28659
47 리눅스 mdadm 을 이용한 S/W RAID 구성 [1] ischo 2011.07.20 25716
46 리눅스 Services 설명 ischo 2011.07.08 24260
45 아파치 SSL 적용된 경우 startup 시에 SSL 패스워드 자동입력시키기 ischo 2011.06.02 24570
서버에 요청 중입니다. 잠시만 기다려 주십시오...