웹 페이지 상태 체크
"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 |