linux-自动备份MySQL数据库,并邮件发送

网站的数据是最重要的,需要我们定期备份,接下来为大家说的就是 定期-自动-备份MySQL数据库,并且压缩后以邮箱发送

大概步骤就是:

1、确保 安装了 sendmail 和 mutt 包(没有安装的话,先安装好,再进行下面的操作)

2、新建脚本文件,备份数据库,打包文件,邮件发送 的代码

3、先手动执行脚本文件

4、执行成功后,将 该脚本放到 计划任务中,1分钟执行一次


 <开始操作>

我已经安装好 sendmail 和 mutt 了,所以从第二步直接开始;

2> 

vim back.sh
复制一下下面的代码:

#!bin/sh
#要备份网站的数据库信息
mysql_user="root"
mysql_pwd="root"
#定义备份邮件标题,可以区分是哪一天的
d=`date "+%Y-%m-%d_%H:%M:%S"`
#发送邮件标题和内容,这个是次要的,主要是附件中的数据库
t="databases backup - $d"
#数据库文件名称
BackName=backup_mysql_$d
#备份数据库存放路径<可以写上定期删除的脚本,我这里没有写>
BackPath=/tmp/
#导出数据库的所有库
mysqldump -u${mysql_user} -p${mysql_pwd} --events --all-databases > $BackPath$BackName.sql
#压缩数据库包,这样节省空间
tar cfP $BackPath$BackName.tar $BackPath$BackName.sql
#用mutt发送邮件,发送到我们指定的邮箱里"[email protected]"         -s  邮件标题  -a  指定的附件<多个的话后面继续加-a>
echo "$t"|mutt -s "$t" [email protected] -a $BackPath$BackName.tar
exit
之后保存并退出

qw

3> 执行该脚本

./back.sh

结果邮件来了

linux-自动备份MySQL数据库,并邮件发送_第1张图片


邮件发送成功!

4> 将脚本放入 计划任务中,1分钟执行一次(可以根据自己的时间去备份,频率不用这么高)

   

crontab -e

在计划任务中写:(一分钟执行一次)

*/1 * * * * /bin/sh /back.sh

然后。。好烦人的邮件一分钟一次。。。

linux-自动备份MySQL数据库,并邮件发送_第2张图片


然后就感觉,,催命一样一分钟过得好快~


【完结】

你可能感兴趣的:(Linux,MySQL)