mysql 备份 发送邮件_MySQLdump备份并发送邮件

概述:

文档中使用smtp协议,利用QQ邮箱发送邮件,其中客户端授权码是在开启QQ邮箱smtp服务是官方给予的,所以要牢记!!!

1、配置smtp

#Linux

yum install -y mailx

#修改配置文件

vi /etc/mail.rc

#在末尾追加如下内容并保存

set from=xxxxxxx@qq.com #设置发件人

set smtp=smtp.qq.com #设置外部STMP服务器

set smtp-auth-user=xxxxxxx@qq.com #设置STMP用户名

set smtp-auth-password=xxxxxxx #客户端授权码

set smtp-auth=login

#测试

echo "this is my test mail" | mail -s 'mail test' xxxxxxx@qq.com

2、建立备份目录

mkdir -p /home/mysql/data/backup/mysql

chown mysql:mysql /home/mysql/data/backup/mysql

3、备份脚本

cd /home/mysql/data/backup/mysql

chmod +x mysqldump.sh

vi mysqldump.sh

#!/bin/bash

BACKUP_PATH=/home/mysql/data/backup/mysql

CURRENT_TIME=$(date +%Y%m%d_%H%M%S)

[ ! -d "$BACKUP_PATH" ] && mkdir -p "$BACKUP_PATH"

#数据库地址

HOST=localhost

#数据库用户名

DB_USER=root

#数据库密码

DB_PW=root

#要备份的数据库

FILE_GZ=${BACKUP_PATH}/$CURRENT_TIME.sql.gz

FLAG=${BACKUP_PATH}/$CURRENT_TIME.flag

LOG=${BACKUP_PATH}/$CURRENT_TIME.log

/usr/local/mysql/bin/mysqldump -u${DB_USER} -p${DB_PW} --socket=/home/mysql/3306/data/mysql.sock --host=$HOST -B --all-databases --master-data=2 --single-transaction | gzip > $FILE_GZ # 此处必须要用绝对路径

#校验备份

md5sum $FILE_GZ > ${BACKUP_PATH}/$CURRENT_TIME.flag

md5sum -c ${BACKUP_PATH}/$CURRENT_TIME.flag > ${BACKUP_PATH}/$CURRENT_TIME.log

#删除 7 天以前的备份 「注意写法」

cd $BACKUP_PATH

find $BACKUP_PATH -mtime +7 -name "*sql.gz" -exec rm -f {} \;

find $BACKUP_PATH -mtime +7 -name "*.log" -exec rm -f {} \;

find $BACKUP_PATH -mtime +7 -name "*.flag" -exec rm -f {} \;

#发送邮件

echo "MySQL备份结果邮件,附件中显示OK则成功" | mail -s 'mysql备份' -a $LOG xxxxxxx@qq.com

4、crontabl

crontab -e #加入此脚本路径

* 23 * * * /bin/sh /home/mysql/data/backup/mysql/mysqldump.sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值