리눅스 서버에 장애가 발생 했을때 gmail로 받는법
페이지 정보
작성자
본문
# 메일제목
SUBJECT=
"Server is not working"
# 메일을 전달받을 주소
EMAIL=
"foo@gmail.com"
# 메일 내용이 적힌 파일
EMAILMESSAGE=
/home/admin/ServerChecker/emailmessage
.txt
# 서버를 체크하기
# - 본인의 경우 웹서버라서 curl로 웹서버에게 hello를 요청하고 응답을 받았습니다.
# - 웹서버가 문제 없는 경우 it works timestamp를 리턴
SERVER=
"14.14.14.14:28080/hello"
CHECKRESULT=$(curl $SERVER)
# 서버의 응답 내용중 it works가 포함 되어 있지 않으면 메일을 보냅니다.
case
$CHECKRESULT
in
*
"it works"
*)
echo
"$CHECKRESULT"
;;
*)
/bin/mail
-s
"$SUBJECT"
"$EMAIL"
< $EMAILMESSAGE;;
esac
2. 1에서 만든 스크립트를 crontab에 등록해서 1분마다 실행 시킵니다.
crontab 편집창 열기
$ crontab -e
1분마다 serverCheck.sh를 실행 하게 등록
* * * * * /home/admin/ServerChecker/was.sh
crontab 재시작하기
$ service crond restart
여기까지 완료 했다면 이제 서버가 문제가 생겼을때 발송한 이메일이 gmail로 오게 됩니다. 단 문제가 스팸함으로 오게 됩니다. gmail의 경우 스팸을 방지하기 위해서 메일을 보낸 서버가 믿을만한 서버인지 판단하는 여러가지 까다로운 기준이 있는대 이를 만족하지 못하면 스팸함으로 가차없이 보내버립니다. 이를 만족시키기 위해서 여러가지 세팅을 해야 합니다. 하지만 저는 시간도 없고 귀찮아서 꼼수를 썻습니다.
3. 보낸 메일이 gmail에서 스팸처리 되지 않게 꼼수쓰기
gmail에서 “검색 옵션 표시” 클릭
“보낸사람” 항목에 CentOS에서 메일을 보내는 계정명 입력
“이 검색 기준으로 필터만들기” 클릭
“스팸아님” 체크
“필터 만들기” 클릭
댓글목록
등록된 댓글이 없습니다.