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 [email protected]

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       [email protected]

auth       login

tls          off

user       [email protected]

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 "测试发送邮件" [email protected]


ubuntu下MySQL数据库自动备份并发送到指定邮箱_第1张图片

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

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

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" [email protected] -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邮箱客户端授权密码怎么获得?

贴图最终效果:


ubuntu下MySQL数据库自动备份并发送到指定邮箱_第2张图片

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

你可能感兴趣的:(ubuntu下MySQL数据库自动备份并发送到指定邮箱)