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邮箱)
- 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/
- 创建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
) - 删掉本地的备份文件(非必需)
设置定时任务
crontab -e
然后在打开的界面中添加一行
0 1 * * * /yourpath/sql_back.sh
保存这个定时任务的含义是 每天凌晨一点整执行sql_back.sh脚本。
你可以通过
crontab -l
查看所有定时任务,对crontab不熟悉的请自行百度。
个人博客地址:http://blog.qupengwei.top/
CentOS7下mysql定时备份并发送邮件到指定邮箱脚本相关推荐
- RouterOS(ROS)定时备份配置并发送至邮箱脚本
总所周知,RouterOS(ros)配置较为繁琐,但稳定性奇高,当ROS配置出现问题手里又没备份的时候,就又重新配置一遍ROS,耗时耗力不说,关键是糟心,本文内容讲解如何通过ROS脚本实现定时备份RO ...
- linux java mysql 备份 runtime_Linux下mysql定时备份脚本以及java实现
sh脚本介绍 #!/bin/bash ####################################################### # crontab 定时备份########### ...
- Windows下Mysql定时备份的实现
使用mysql的mysqldump命令,结合windows的任务计划程序,可以实现Mysql数据的自动备份. 一.批处理文件bat的创建 @echo off set "Ymd=%date:~ ...
- centos7下mysql定时全量备份、增量备份实现方法
最近学习的数据库自动定时备份的方法,从网上看的很多资料,大部分文章都是用的脚本之家的那个模板(原代码地址:https://www.jb51.net/article/99938.htm),但是都没有很详 ...
- linux下mysql定时备份命令
linux下,如需对mysql做备份,可以做个shell文件,一劳永逸 [root@iZ2zeavn7cbxg2g9bs5donZ mysqlbackup]# cat mysql_backup.sh ...
- linux下mysql定时备份数据库
一.用命令实现备份 首页进入mysql的bin目录 1.备份数据 #mysqldump -uusername -ppassword discuz > discuz_2010-04-01.sql ...
- Windows下 mysql定时备份
** 使用mysqldump进行数据库备份 ** mysql数据库自带备份命令mysqldump,可对数据库进行备份操作 最简单的备份是将数据库备份至本地,生成 **.sql文件 编写备份脚本文件 ( ...
- CentOS7环境下MySQL定时备份
1.新建备份脚本 vi /home/mysqlbak/mysql_bak.sh填入以下内容: mysql_user="USER" #MySQL备份用户 mysql_password ...
- mysql 打包 脚本_windows下mysql自动备份压缩打包时间命名批处理脚本
我在此文章上做修改:把时间修改成不记录小时分和秒 新建一个名字后缀为".bat"的文件 set d=%date:~0,10% set d=%d:-=% set t=%time:~0 ...
最新文章
- 怎么看rabbitmq的浏览器信息_买房沙盘怎么看?沙盘也可以看出很多信息的
- 厉害了!用 JS 实现人脑和计算机交互
- 一个简单的线性拟合问题,到底有多少种做法
- UWP x:bind
- 在线服务器和客户端聊天,实验三、客户端和服务器能实现简单的聊天功能
- [转载]Programming MS Office 2000 Web Components第二章第三节
- Python-爬虫-针对有frame框架的页面
- SQL Drop数据库– MySQL,PostgreSQL,SQL Server
- 【EOS】2.3 深入理解ABI文件
- 数据分析数据可视化(二)
- 操作系统-管程、进程和线程之间的差别
- PHP 工厂模式浅析
- 【多媒体封装格式详解】---MKV【2】
- python爬虫:爬东方财富网平安银行历史资金流向并写入MySQL
- python爬虫实例(百度图片、网站图片)
- Android 进阶——系统启动之核心SystemServer进程启动详解(七)
- epub转pdf网站推荐
- 洗牌 --网易有道2017内推编程题
- 电路板上的黑色小圆“疙瘩”到底是什么?有什么用?
- 【2022/1/12】think-swoole使用教程
热门文章
- 搭建springcloud微服务下的网关Netfilx Zuul
- 科普系列--天气气象的监测和设备
- KEUC首次落地中国,网易云深度剖析Kubernetes优化与实践
- 2017中国(郑州)国际医药保健品及福祉产业交易会会刊(参展商名录)
- 计算机术语什么叫袜子,大电脑织袜机部分功能操作与说明
- php 加减速 操作,手动挡减挡减速正确方法 加挡先加速减挡先减速
- 固态硬盘开卡维修教程,MAP1202、IG5236、SM2259XT2等主控均适用
- 新建小程序项目提示:登录用户不是该小程序的开发者
- 唯晶科技宣布PSVR游戏《揭秘计划》将开源给合作伙伴
- API身份验证和授权介绍