반응형
설명
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 : 웹 서버
반응형
'Server > Linux' 카테고리의 다른 글
[CentOS] Stream 9에서 subscription error가 발생할 때 (0) | 2022.03.04 |
---|---|
[CentOS] RPM 패키지를 설치할때 GPG KEY 에러 (0) | 2022.03.01 |
[리눅스] CentOS 8에서 lynx 패키지 설치 (0) | 2021.12.14 |
[리눅스] Ubuntu 서버에서 데스크탑(GUI) 설치방법 (0) | 2021.12.10 |
[BIND] CentOS 7로 DNS 이중화 구성 (0) | 2021.12.07 |