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
account163
hostsmtp.163.com
port25
fromsdxunmei@163.com
authlogin
tlsoff
usersdxunmei@163.com
passwordxxxxx---------->这里的密码是网易邮箱的客户端授权密码,不知道怎么获取的常见本文章底部附件链接。
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


ubuntu下MySQL数据库自动备份并发送到指定邮箱
文章图片
步骤二、创建执行备份并发送邮件的程序
创建文件夹,用来存放备份的文件
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
【ubuntu下MySQL数据库自动备份并发送到指定邮箱】重启crontab
sudo service cron restart
附件:163邮箱客户端授权密码怎么获得?
贴图最终效果:


ubuntu下MySQL数据库自动备份并发送到指定邮箱
文章图片
http://jingyan.baidu.com/article/495ba841ecc72c38b30ede38.html

    推荐阅读