CentOS7下mysql定时备份并发送邮件到指定邮箱脚本

CentOS7下mysql定时备份并发送邮件到指定邮箱脚本

网上有对应的教程,但是使用的mutt发送的邮件。

我从昨晚九点开始搞,搞到凌晨三点都没弄好,早上又搞了一早上也没弄好。因为网上的教程太老,或者使用的gmail邮箱,在使用gmail邮箱的时候,需要开启应用授权。但这还不是最致命的,在我配置好了一切之后,发觉smtp.gmail.com是被墙掉的(服务器环境,平常自己电脑都是默认开启vpn的,所以对墙没墙不是很敏感),所以无法使用,上面的所有步骤主要参照以下两个文档。(我本人能力有限,没有成功)

使用mutt发送邮件:
http://www.jianshu.com/p/bebbf2db2cd8
google使用应用专用密码登录:
https://support.google.com/accounts/answer/185833

发觉smtp.gmail.com 被墙之后很自然的想法就是mutt+163,但是我尝试了很久,没有弄好(真的是能力有限,水平一般)。

后来发现linux自带有mail,和mutt对比之后,发觉mutt的那些所谓的优点对于我这个功能都不是必须的,mail玩完全可以满足我的需求,所以最后选用的就是mail发送邮件。

以下介绍的就是如何让mysql定时备份并使用mail发送邮件到指定邮箱

首先确保你的mail是安装好的了,参照以下文档

How To Send E-Mail On CentOS 7 : 
https://gist.github.com/ilkereroglu/aa6c868153d1c5d57cd8

需要注意的是最后的配置阶段,需要按照如下的配置来(163邮箱)

  1. vim /etc/mail.rc
set smtp=smtps://smtp.163.com:465
set from=qpwchina@163.com #换成你自己的邮箱地址
set smtp-auth=login
set smtp-auth-user=qpwchina@163.com  #换成你自己的邮箱地址
set smtp-auth-password=yourpassword   # 你的授权码,使用smtp需要打开授权,不能使用原来的密码
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/
  1. 创建sh脚本 vim /yourpath/sql_back.sh
DATE=`date+%Y%m%d`
mysqldump -uroot -pyourPassword --all-databases > /yourpath/back.sql
tar zcvfP /yourpath/db_${DATE}.sql.tar.gz  /yourpath/back.sql
echo 'email content' | mail -a /yourpath/db_${DATE}.sql.tar.gz -s 'back sql' qupengwei2008@qq.com
rm -rf /yourpath/db_${DATE}.sql.tar.gz

以上代码简单解释一下。

  • 声明了一个变量(之后会作为备份文件的名称)
  • 使用mysqldump备份数据库,我这里备份的是所有的数据库(–all-databases)
  • 压缩数据库备份文件(不是必须的,备份文件为文本压缩率会很高,节省空间和流量的效果很明显,所以选择了压缩)
  • 发送邮件(邮件正文为’email content’,添加压缩好的sql备份为附件(-a attachment),邮件主题(-s subject)为‘back sql’,发送给qupengwei2008@qq.com
  • 删掉本地的备份文件(非必需)
  1. 设置定时任务 crontab -e

    然后在打开的界面中添加一行 0 1 * * * /yourpath/sql_back.sh保存

    这个定时任务的含义是 每天凌晨一点整执行sql_back.sh脚本。

    你可以通过crontab -l查看所有定时任务,对crontab不熟悉的请自行百度。

个人博客地址:http://blog.qupengwei.top/

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值