[MySQL - 간단한 백업 성공 이메일 스크립트 설정]

안녕하세요 

DB백업 데일리 성공 여부를 받아볼 수 있는 간단한  이메일 스크립트 설정을 해보았습니다.

아래 스크립트를 기반으로 데일리로 받아보고자 하는 정보를 조금씩 수정하여 사용하면 될거 같습니다~

 

 

사전 설정

send mail을 사용하여 구글 메일로 발송 할 계획이라 sendmail 설치가 되어있어야합니다.

 

 

sendmail 설치

[root@mysql]# yum install -y sendmail sendmail-cf

 

config 수정

[root@mysql]# vi /etc/mail/sendmail.mc
-- 52,53라인에 dnl을 삭제


[root@mysql bin]# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

 

25번 포트 open 확인

[root@mysql]# netstat -anp | grep sendmail | grep LISTEN
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      22675/sendmail: acc

 

start

[root@mysql]# systemctl start sendmail.service d

 

test 메일 전송

[root@mysql]# echo "content message" | mail -r jeonghyun.kim@***.com -s "TITLE" jeonghyun.kim@***.com

보내는 사람: sender@gmail.com
받는 사람: receiver@gmail.com
메일 제목: subject title
메일 본문: content message
# echo "content message" | mail -r sender@gmail.com -s "subject title" receiver@gmail.com

 

 

Email script
#!/bin/bash
export back_date=$(date +"%Y%m%d")
DIR=/backup/backup_$back_date
dump=`du -sh $DIR/*`
dumplist=`ls -l /backup`
status=`ls -l $DIR`
TO="jeonghyun.kim@***.com"

SUBJECT="MySQL Dump success"
MESSAGE="/tmp/Mail.out"
TO="jeonghyun.kim@***.com"
echo -e "+------------------------------------------------------------------+" >> $MESSAGE
echo "                                  Dump List" >> $MESSAGE
echo -e "+------------------------------------------------------------------+" >> $MESSAGE
echo "$dumplist" >> $MESSAGE
echo -e "\n\n+------------------------------------------------------------------+" >> $MESSAGE
echo "                                 Today Dump" >> $MESSAGE
echo -e "+------------------------------------------------------------------+" >> $MESSAGE
echo "$status" >> $MESSAGE
echo -e "\n\n+------------------------------------------------------------------+" >> $MESSAGE
echo "                                  Dump Size" >> $MESSAGE
echo -e "+------------------------------------------------------------------+" >> $MESSAGE
echo "$dump" >> $MESSAGE
  mail -s "$SUBJECT" "$TO" < $MESSAGE
  rm /tmp/Mail.out

 

 

■ crontab

## 백업 성공 시 email report 발송
0 3 * * * /bin/bash /backup/backup.sh && /backup/alert.sh

 

 

■ Email report

'DataBase Admin > DB Admin' 카테고리의 다른 글

[MySQL - Transaction Isolation Levels]  (21) 2023.02.10
[MySQL - 강제 복구 모드 innodb_force_recovery]  (0) 2023.02.10
[MySQL - Temporary Tablespace]  (0) 2022.11.05
[MySQL - QPS/TPS]  (0) 2022.10.18
[MySQL - Character set & Collation]  (2) 2022.10.18