모니터링 서버

모니터링 서버

세 개의 서버 페이지를 모니터링하고 싶습니다. 이 세 페이지에는 간단한 텍스트가 포함되어 있습니다(예: "잘 작동합니다"라고 표시됨). 이 메시지 이외의 다른 메시지가 표시될 때(예: 이메일을 통해) 알림을 받고 싶습니다.

html 파일에 세 페이지의 상태를 표시하는 쉘 스크립트 코드가 필요합니다.

답변1

페이지가 적절한 HTML 페이지이고 이를 구문 분석하고 싶지 않은 경우 lynx(구식 텍스트 브라우저)를 사용하여 먼저 HTML을 일반 텍스트로 렌더링할 수 있습니다( 플래그 사용 --dump).

for lnk in http://foo.example.com \
           http://bar.example.com \
           http://stats.example.com/stillrunning.html
do
   lynx --dump "${lnk}" \
   | grep "working fine" \
   || mailx -s "${lnk} failed" [email protected]
done

답변2

원하는 것을 달성하기 위해 또는 with를 curl사용할 수 있습니다 .wgetbash

$ wget -O- http://example.com | grep "working fine" || mailx -s "Oh NO" you ...

관련 정보