ubuntu下MySQL数据库自动备份并发送到指定邮箱

步骤:

安装并配置ubuntu邮件发送环境

创建执行备份并发送邮件的程序

让程序自动定时执行

方法:

步骤一、安装并配置ubuntu邮件发送环境

在ubuntu下安装mutt很方便,只需要sudo apt-get install mutt,另外需要安装msmtp,一个发邮件的小工具,sudo apt-get insall msmtp。这两个文件都很小,一下子就装完了。

接下来是配置文件,也很简单。

1 》安装

sudo apt-get install mutt

sudo apt-get install msmtp

2 》配置

MUTT

-》配置文件路径: /etc/Muttrc

-》在Muttrc文件最后添加以下内容:

set sendmail="/usr/bin/msmtp"

set use_from=yes

set realname="山东讯美科技"

set from=sdxunmei@163.com

set envelope_from=yes

MSMTP

-》在/etc目录下创建msmtprc的配置文件/etc/msmtprc(msmtprc文件默认是没有的,要自己创建)

sudo vi msmtprc

#Accounts will inherit settings from this section

defaults

account    163

host       smtp.163.com

port       25

from       sdxunmei@163.com

auth       login

tls          off

user       sdxunmei@163.com

password   xxxxx---------->这里的密码是网易邮箱的客户端授权密码,不知道怎么获取的常见本文章底部附件链接。

logfile     /var/log/msmtp.log    ------->日志文件

# Set a default account

account default : 163

-》创建上述配置的日志文件

sudo touch /var/log/msmtp.log

-》为了让所有用户都能读写这个日志文件,我们将其权限设置为777

sudo chmod 777 /var/log/msmtp.log

3》到这里,我们测试一下使用mutt来发送邮件。

echo "测试内容" |mutt -s "测试发送邮件" yuqiyu@vip.qq.com

步骤二、创建执行备份并发送邮件的程序

创建文件夹,用来存放备份的文件

sudo mkdir /beifen/mysql

创建备份程序

sudo nano /usr/sbin/bakmysql

编辑bakmysql内容:

sj=`date +%Y%m%d%H%M%S`    ###获取当前时间

mysqldump --all-databases -u username -p pwd>/beifen/mysql/mysql$sj.sql   ###备份全部数据库

添加备份内容

sleep 3   ###休眠三秒,等待数据备份

echo "$sj备份的数据库文件" | mutt -s "mysql$sj" sdxunmei@163.com -a "/beifen/mysql/mysql$sj.sql"    ###发送邮件  -a 导入附件

测试执行一下

/usr/sbin/bakmysql

备份成功!发送成功!

步骤三、让程序自动定时执行

修改/etc/crontab

sudo nano -w /etc/crontab

-w表示不使用自动换行,这个在修改系统文件时必须加上,避免出现问题,在这里可以加可以不加,安全起见还是我是加了~

在下面添加

30 3 * * * root /usr/sbin/bakmysql

注:表示每天3点30分以root用户执行/usr/sbin/bakmysql

重启crontab

sudo service cron restart

附件:163邮箱客户端授权密码怎么获得?

贴图最终效果:

http://jingyan.baidu.com/article/495ba841ecc72c38b30ede38.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏决胜机器学习

优化页面访问速度(四) ——前端优化

前端的优化,主要可以通过减少HTTP请求、非实时请求改异步、缓存、文件压缩、CDN加速、独立图片服务器等。

1542
来自专栏林欣哲

图解Git合并--Merge和Rebase

项目初始情况 ? Merge fast-forward ? 快速合并,直接把指针指向前去,无冲突要解决。 非 fast-forward ? 保留历史记录,解决冲...

3307
来自专栏极客慕白的成长之路

搭建自己的Git服务器

搭建Git服务器   让我们先看下服务器端SSH访问的配置。在这个例子中,我们使用authorized_keys的方法认证用户。我们假设你的服务器是一个标...

2071
来自专栏实用工具入门教程

如何搭建微信订阅号后台服务

微信公众号后台自带的功能可能有时不能满足我们的需要,这时候我们就需要搭建自己的服务端。本实验带您从零开始,基于 NodeJS 搭建起一个可以支撑微信订阅号自动回...

1.7K4
来自专栏MoeLove

Open-Falcon监控系统部署

数据库连接的配置格式是: username:password@tcp(path:port)/xxxx

4083
来自专栏信安之路

linux常用下载工具

wget ‐‐output-document=myname.iso http://example.com/file.iso

990
来自专栏小狼的世界

Tomcat 安装与配置

Tomcat 在官方网站中提供了两个 Windows 安装版本,一个是普通安装版,一个是解压版。普通安装版带了安装器,像我们安装其他Windows程序一样,可以...

2261
来自专栏Ryan Miao

redis学习之三配置文件redis.conf 的含义

摘自http://www.runoob.com/redis/redis-conf.html 安装redis之后的第一件事,我就开始配置密码,结果总是不生效,而我...

2755
来自专栏noteless

eclipse 创建maven 项目 动态web工程完整示例

注意,以下所有需要建立在你的eclipse等已经集成配置好了maven了,说白了就是新建项目的时候已经可以找到maven了

1291
来自专栏跟着阿笨一起玩NET

搭建windows server 2008 r2 FTP 后 开启防火墙无法访问的解决办法

转自http://kkworms.blog.51cto.com/540865/558477

2.4K1

扫码关注云+社区

领取腾讯云代金券