리눅스 client에서 웹서버의 html 파일을 1초 단위로 loading 하는 스크립트이다.
web_access_test.sh 코드
#!/bin/bash
LOGFILE="/var/log/webtest-`date +%Y-%m-%d"_"%T`.log"
WEB1="https://mapoo.net/aa.html"
WEB2="https://mapoo.net/ab.html"
COUNTER=1
FAIL_COUNTER=0
while :
do
echo "---------------- $COUNTER ----------------" | tee -a $LOGFILE
let "COUNTER+=1"
HOST1=$(wget $WEB1 -t2 -T2 -o /dev/null -O /dev/stdout)
HOST2=$(wget $WEB2 -t2 -T2 -o /dev/null -O /dev/stdout)
if [ -n "$HOST1" ] && [ -n "$HOST2" ]; then
echo -e "\033[1;32m$HOST1\e[21\033[0m" | tee -a $LOGFILE
echo -e "\033[1;32m$HOST2\e[21\033[0m" | tee -a $LOGFILE
else
echo -e "\033[1;31mFAILED WGET\e[21\033[0m" | tee -a $LOGFILE
echo -e "\033[1;32m$HOST1\e[21\033[0m" | tee -a $LOGFILE
echo -e "\033[1;32m$HOST2\e[21\033[0m" | tee -a $LOGFILE
let "FAIL_COUNTER+=1"
fi
if [ $FAIL_COUNTER = 0 ]; then
echo "`date +%Y-%m-%d"_"%T"_"%Z` FAILED COUNT=$FAIL_COUNTER" | tee -a $LOGFILE
elif (( FAIL_COUNTER >= 1 && FAIL_COUNTER <= 9 )); then
echo -e "`date +%Y-%m-%d"_"%T"_"%Z`\033[1;33m FAILED COUNT=$FAIL_COUNTER\e[21\033[0m" | tee -a $LOGFILE
elif [ $FAIL_COUNTER -ge 10 ]; then
echo -e "`date +%Y-%m-%d"_"%T"_"%Z`\033[1;35m FAILED COUNT=$FAIL_COUNTER\e[21\033[0m" | tee -a $LOGFILE
fi
echo -e "---------------------------------------\n" | tee -a $LOGFILE
sleep 1;
done
- 실행시 마다 1씩 카운트를 올리며, loading 에 실패하면 fail 카운트를 올린다.
- WEB1, 2 변수의 내용을 수정하면 fail count을 쉽게 올려볼 수 있다.
- # fail -f /var/log/webtest-'date' 로 다른 쉘에서 동시에 로그를 확인할 수 있다.
아래와 같이 상단 카운트가 증가되며, wget에서 fail이 발생하면 FAILED COUNT를 증가 시킴
- 0 FAILED COUNT : White
- 1 ~ 9 FAILED COUNT : Yellow
- 10 ~ FAILED COUNT : Purple
shell script - test of web page loading