반응형

설명

CentOS 7 환경에서 mail 명령어를 사용하는 간단한 메일 보내기 쉘 프로그램을 작성해 봅니다.

 

 

패키지 설치

### Install mailx package ###
[root@localhost ~]# yum -y install mailx

 

 

 

메일 발송 쉘 프로그램 작성

아래와 같이 간단한 쉘 프로그램으로 메일 발송이 가능합니다.

 

### /root/mail_tester.sh ###
#!/bin/bash
smtp_server="smtp=smtp://192.168.80.171:25"
from_email=sss@testlab.localhost
to_email=aaa@testlab.localhost
cc_email=bbb@testlab.localhost
bcc_email=ccc@testlab.localhost
subject="mail test"
content="mail test"
echo "$content" | /bin/mail -S $smtp_server -s "$subject" -r $from_email $to_email $cc_email $bcc_email

 

### Description ###
smtp_server  : 메일 서버(MTA)와 포트
from_email   : 보내는 사람의 메일 주소
to_email     : 받는 사람의 메일 주소
cc_email     : 참조 메일 주소
bcc_email    : 숨은 참조 메일 주소
subject      : 메일 제목
content      : 메일 내용

 

 

 

 

간단한 웹 모니터링 스트립트

아래와 같이 간단한 웹 모니터링 스크립트를 만들어 보았습니다. for문으로 무한루프가 되도록 설정하고 10초 단위로 특정 웹 사이트의 파일을 읽도록 설정합니다. 파일이 문제없이 읽혀지면 패스하고, 파일을 읽을 수 없을 때는 지정한 서버를 통해서 메일을 전송하도록 설정한 스크립트입니다.

 

### Simple web monitoring script ###

### /root/simple_web_monitoring_script.sh ###
#!/bin/bash

smtp_server="smtp=smtp://192.168.80.171:25"
from_email=sss@testlab.localhost
to_email=aaa@testlab.localhost
cc_email=bbb@testlab.localhost
bcc_email=ccc@testlab.localhost
subject="mail test"
content="mail test"

for (( ; ; ))
do
    curl_result=`curl -s http://192.168.80.191/abc/check.txt`
    if [[ $curl_result == "ok" ]]
    then
        date
        echo -e "Status is OK\n"
        sleep 10
    else
        date
        echo -e "Check failed\n"
        echo "$content" | /bin/mail -S $smtp_server -s "$subject" -r $from_email $to_email $cc_email $bcc_email
        sleep 10
    fi
done

 

### Description ###
192.168.80.171    : 메일 전송 서버(MTA)
192.168.80.191    : 웹 서버
반응형

+ Recent posts