[Linux] wget으로 특정 URI 서비스 살아 있는지 체크 Computer Tip

linux 에는 모두 wget 이나 curl 과 같은 특정 URL(URI 라고 하는 것이 일반적입니다) 자원을
로컬로 가져오는 유틸리티 프로그램이 있습니다.

없다면 
$ sudo apt-get install wget
으로 설치하거나 (우분투)

$ brew install wget 
으로 맥에서 설치합니다.

그런데 어떤 경우 해당 URI 가 잘 다운받아지는지,
다시말해 해당 웹페이지가 잘 서비스 되는지
확인만 할 필요가 있습니다.

물론 HTTP 리턴 코드도 무시하고 해당 URI가 서비스를
한단 안한다 정도 까지만 체크하면 가장 쉽습니다.

우선 해당 명령을 살펴봅니다.

wget http://www.google.co.kr -O /dev/null -q -T 1

위와 같이 명령을 내려 봅니다.

wget : 실행 프로그램
http://www.google.co.kr : 체크할 URI
-O /dev/null : 해당 자원을 로컬의 어느 파일로 저장할 것인가를 나타내는데 그냥 무시 /dev/null 합니다.
-q : quiet 모드로써 이것을 지정안하면 얼마나 걸렸다는 통계 정보가 보여집니다.
-T 1 : 매뉴얼에 의하면 '--dns-timeout' ,'--connect-timeout', '--read-timeout' 의 세종류 타임아웃이 있는데 모두 1초를 넘기게 되면 알아서 끊기고 오류가 리턴됩니다. 



이제 아래와 같은 명령을 내려보면
$ wget http://www.google.co.kr -O /dev/null -q -T 1
$ echo $?
0
위와 같이 wget이 성공이면 '0'이 리턴됩니다.

$ wget http://www.google.co.kr2 -O /dev/null -q -T 1
$ echo $?
4
없는 URL 호스트를 주었더니 '4' 오류가 발생했습니다.

$ wget http://www.google.co.kr/foo -O /dev/null -q -T 1
$ echo $?
8
해당 호스트는 있는 있지 않은 자원을 접근하려고 하니 '8' 오류가 나왔습니다.

$ wget http://localhost -O /dev/null -q -T 1
$ echo $?
4
서비스가 열려있지 않은 경우도 '4'가 리턴되는군요.

리턴 값 자체는 '0' 또는 '0이 아닌값' 정도로만 알 정도로 중요하지 않습니다.

이렇게 하여 해당 URI 자원이 현재 서비스 가능한가 가장 빠르고 쉽게
확인할 수 있는 방법 중에 하나를 소개해 봅니다.


어느분께는 도움이 되셨기를...



덧글

댓글 입력 영역

구글애드텍스트