본문으로 바로가기

#!/bin/bash

URLS=("URL1" URL2" )
DATE=$(date '+%Y-%m-%d %H:%M:%S')

for i in "${URLS[@]}"; do
	contentLength=$(curl -isSf $i | grep 'Content-Length' | awk '{print $2}')
	echo "NOW: " $DATE ", Find : $contentLength"
	contentLength="${contentLength//[$'\t\r\n ']}"

	if [[ "$contentLength" -eq 0 ]]; then
		echo $i' is Empty.'
	else
		echo $i' is not Empty.'
	fi
done

 

bash 쉘로 스크립트를 구성하였다.

 

URLS=("URL1" URL2" )

 

health할 end-point가 여러개 일수 있으므로 배열로 처리

 

for i in "${URLS[@]}"; do

done

for문을 통해 시퀀스하게 url을 i로 받는다.

 

contentLength=$(curl -isSf $i | grep 'Content-Length' | awk '{print $2}')

curl을 통해 응답헤더의 ContentLength를 가져온다.

 

contentLength="${contentLength//[$'\t\r\n ']}"

받아온 contentLength를 공백을 제거한다.

 

if [[ "$contentLength" -eq 0 ]]; then
    echo $i' is Empty.'
else
    echo $i' is not Empty.'
fi

contentLength가 비어있거나 0이라면 

해당 url이 비어있다고 출력한다.