概述:
文档中使用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