自动备份MySQL数据库并发送到Email概述


  本文标签:MySQL数据库

  以下的文章主要介绍的是自动备份MySQL数据库并发送到Email的实际操作方法,以及对自动备份MySQL数据库并发送到Email的实际应用代码的描述,以下就是文章的主要内容描述,望你会有所收获  。

  一个博客,一个网站最重要的就是数据库,所以经常备份数据是必须的.尽管 WordPress 有定时备份数据的插件,但只能备份当前的博客,不够灵活.适合个人小小博客,对于一些网站来说,就不适合了.现在很多人都拥有多个网站,showfom 同学就有几个网站.每个网站都装个插件就比较麻烦了.况且不是每个网站都是 WordPress 的 .

  所以写了个自动备份MySQL数据库的脚本,再加上gmail这个G级邮箱,备份多少数据都可以了...下面是代码:

  

  1. MySQLdump -uuser -ppassword --databases db1 db2 db3 > /home/website/backups/databackup.sql  
  2. tar zcf /home/website/backups/databackup.sql.tar.gz /home/website/backups/  
  3. echo "主题:数据库备份" | mutt -a /home/website/backups/databackup.sql.tar.gz -s "内容:数据库备份" www@gmail.com  
  4. rm -r /home/website/backups/* 

  将上面的代码保存为autoMySQLbackup.sh

  然后利用crontab 实现动备份,在ssh下,

  crontab -e

  输入以下内容:

  

  1. 00 00 * * * /home/website/autoMySQLbackup.sh 

  这样就实现了每天00:00自动备份MySQL数据库并发送到Email

  简单的说明下吧.

  第一句是一次性备份多个数据库,这个要你用root权限的用户才可以的..-u后面的是数据库用户名 -p后面的是数据库密码 无需空格 db1 db2 db3为你需要备份的数据库名.
如果你的MySQL数据库用户名没有root这个权限,可以改为这样

  

  1. MySQLdump -uuser -ppassword db1 > /home/website/backups/db1.sql  
  2. MySQLdump -uuser -ppassword db2 > /home/website/backups/db1.sql  
  3. MySQLdump -uuser -ppassword db3 > /home/website/backups/db1.sql 

  第二句是将 backups 文件夹里面的数据文件压缩为文件名:databackup.sql.tar.gz

  第三句是将压缩了的数据库文件发送到指定的邮箱.....

  其中的主题:数据库备份 ,就是邮件的主题, 内容:MySQL数据库备份,就是邮件的内用,

  /home/website/backups/databackup.sql.tar.gz 为附件