본문으로 바로가기

쉘 스크립트 - 웹 페이지 체크

category IT소식/IT 공부 2016. 3. 10. 17:56

웹 페이지 상태 체크




"web_check.sh"


#!/bin/bash

LINE_="========================="

E="echo"

declare -a ARRAY_OK

declare -a ARRAY_FAIL

declare -a ARRAY_NOT

 

[ $1 -ge 0 2>/dev/null ]

 

if [ $# -eq 1 -a -e "$1" ]

then

 LIST_FILE=`cat $1`

 

for LIST in ${LIST_FILE}

 do

  CHECK_HTTP_CODE=`curl -I -4 -m 1 ${LIST} 2>/dev/null | grep "^HTTP" | awk '{print $2}'`

  VERIFY_CEHCK=`expr ${CHECK_HTTP_CODE} + 0 2>/dev/null`

 

  if [ "$VERIFY_CEHCK" -ge 1 ] 

  then

   if [ "$CHECK_HTTP_CODE" -eq 200 -o "$CHECK_HTTP_CODE" -le 308 ] 

   then

     ARRAY_OK=("${ARRAY_OK[@]}" "`$E "HTTP Code ${CHECK_HTTP_CODE} OK - ${LIST}"`")

   else

     ARRAY_FAIL=("${ARRAY_FAIL[@]}" "`$E "HTTP Code ${CHECK_HTTP_CODE} Fail - ${LIST}"`")

   fi

  else

    ARRAY_NOT=("${ARRAY_NOT[@]}" "`$E "HTTP Not Listen - ${LIST}"`")

  fi

 done

 

 $E;$E "$LINE_ HTTP OK $LINE_"

 LOOP_COUNT=0

 LOOP_LIMIT=${#ARRAY_OK[@]}

 while [ "${LOOP_COUNT}" -le "${LOOP_LIMIT}" ]

 do

  $E "${ARRAY_OK[${LOOP_COUNT}]}"

  LOOP_COUNT=`$E "${LOOP_COUNT} + 1" | bc`

 done

 

 $E "$LINE_ HTTP Fail $LINE_"

 LOOP_COUNT=0

 LOOP_LIMIT=${#ARRAY_FAIL[@]}

 while [ "${LOOP_COUNT}" -le "${LOOP_LIMIT}" ]

 do

  $E "${ARRAY_FAIL[${LOOP_COUNT}]}"

  LOOP_COUNT=`$E "${LOOP_COUNT} + 1" | bc`

 done

 

 $E "$LINE_ HTTP Not Listen $LINE_"

 LOOP_COUNT=0

 LOOP_LIMIT=${#ARRAY_NOT[@]}

 while [ "${LOOP_COUNT}" -le "${LOOP_LIMIT}" ]

 do

  $E "${ARRAY_NOT[${LOOP_COUNT}]}"

  LOOP_COUNT=`$E "${LOOP_COUNT} + 1" | bc`

 done

 

else 

 $E;$E "ex) - $0 list";$E

 exit 0

fi


#동일한 경로에 'list' 파일 생성하여 아래와 같이 내용 추가


[root@lxstitch]# vi list

### 웹 서버 IP, 또는 도메인 주소 입력 하면 됨 ###


www.naver.com    #네이버

lxstitch.tistory.com    #티스토리

192.168.0.1         #웹서버 1 

192.168.0.2         #웹서버 2






'IT소식 > IT 공부' 카테고리의 다른 글

리눅스 로그파일 종류  (739) 2016.03.15
암호학이란 무엇인가? [작성중]  (742) 2016.03.11
쉘 스크립트 놀이  (803) 2016.03.10
SOLARIS 에서 특정 포트 물고있는 어플 확인하기  (900) 2016.03.02
쉘 스크립트 if문 옵션  (756) 2016.02.29