안녕하세요
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 |