본문 바로가기
IT/linux

linux wget 을 사용한 간단한 web server alive check 예제와 공유

by 어느해겨울 2021. 12. 22.

wget 을 사용한 간단한 web server alive check

 

이번 wget 을 사용한 alive check 의 대상으로 google.com 을 써본다. 

 wget --timeout=1 --tries=1 --spider http://google.com 2>&1 | grep -c '200 OK'

wget 옵션을 살펴보자.

--timeout=1 타임아웃을 지정한다. 응답까지 1초만 대기한다.
--tries=1  시도횟수를 지정한다. 1회만 시도한다.
--spider http://google.com 대상을 다운로드하지 않고 체크만 한다. 대상 URL 의 상태를 체크한다.

| grep 을 제외한 명령문의 결과부터 확인하자.

 wget --timeout=1 --tries=1 --spider http://google.com 2>&1
Spider mode enabled. Check if remote file exists.
--2021-12-22 08:14:51--  http://google.com/
Resolving google.com (google.com)... 172.217.174.110, 2404:6800:4004:826::200e
Connecting to google.com (google.com)|172.217.174.110|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://www.google.com/ [following]
Spider mode enabled. Check if remote file exists.
--2021-12-22 08:14:51--  http://www.google.com/
Resolving www.google.com (www.google.com)... 142.251.42.164, 2404:6800:4004:81c::2004
Connecting to www.google.com (www.google.com)|142.251.42.164|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Remote file exists and could contain further links,
but recursion is disabled -- not retrieving.

응답 메시지 중에 서버가 동작중인지 체크하려면 "HTTP request sent, awaiting response... 200 OK" 이 메시지를 확인하면 된다. 즉 200 OK가 아니라면 서버상태는 정상 외에 경우라는 것. 그러니 grep -c 를 이용하여 200 OK가 한번이라도 현시되었는지 확인하는 것이다.

 wget --timeout=1 --tries=1 --spider http://google.com 2>&1 | grep -c "200 OK"
1

 wget --timeout=1 --tries=1 --spider http://google.co 2>&1 | grep -c "200 OK"
0

URL 을 http://google.com 과 없는 도메인인 http://google.co 를 입력해봤을 때 결과 값이다.

즉, 0 이 반환되면 web server가 정상 동작중이 아니란걸 알 수 있게된다.

 

wget을 통한 server live check 는 http의 request/response 메시지를 이용하는 것이기 때문에 대상이 http 가 동작중이여야한다.

 

wget의 세부 옵션과 동작은 아래 사이트를 참고한다.

https://linux.die.net/man/1/wget

 

wget(1): non-interactive network downloader - Linux man page

wget(1) - Linux man page Name Wget - The non-interactive network downloader. Synopsis wget [option]... [ URL ]... Description GNU Wget is a free utility for non-interactive download of files from the Web. It supports HTTP , HTTPS , and FTP protocols, as we

linux.die.net

 

 

댓글