找回密码
 注册
广告投放 虚位以待【阿里云】2核2G云新老同享 99元/年,续费同价做网站就用糖果主机-sugarhosts.comJtti.com-新加坡服务器,美国服务器,香港服务器
查看: 647|回复: 0

自动备份mysql数据库并发送到指定Email

[复制链接]
发表于 2010 年 10 月 2 日 17:13:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×


  一个博客,一个网站最重要的就是数据库,因此经常备份数据是必须的.尽管 WordPress 有定时备份数据的插件,但只能备份当前的博客,不够灵活.适合个人小小博客,对于一些网站来说,就不适合了.现在很多人都拥有多个网站.每个网站都装个插件就比较麻烦了.况且不是每个网站都是 WordPress 的.
  因此写了个自动备份mysql数据库的脚本,再加上gmail这个G级邮箱,备份多少数据都可以了...下面是代码:
  mysqldump -uuser -ppassword --databases db1 db2 db3 > /home/website/backups/databackup.sql
  tar zcf /home/website/backups/databackup.sql.tar.gz /home/website/backups/
  echo "主题:数据库备份" | mutt -a /home/website/backups/databackup.sql.tar.gz -s "内容:数据库备份" www@puhost.com
  rm -r /home/website/backups/*
  将上面的代码保存为automysqlbackup.sh
  然后利用crontab 实现动备份,在ssh下,
  crontab -e
  输入以下内容:
  00 00 * * * /home/website/automysqlbackup.sh
  这样就实现了每天00:00自动备份mysql数据库并发送到Email
  简单的说明下吧.
  第一句是一次性备份多个数据库,这个要你用root权限的用户才可以的..-u后面的是数据库用户名 -p后面的是数据库密码 无需空格 db1 db2 db3为你需要备份的数据库名.
  假设你的数据库用户名没有root这个权限,可以改为这样
  mysqldump -uuser -ppassword db1 > /home/website/backups/db1.sql
  mysqldump -uuser -ppassword db2 > /home/website/backups/db1.sql
  mysqldump -uuser -ppassword db3 > /home/website/backups/db1.sql
  第二句是将 backups 文件夹里面的数据文件压缩为文件名:databackup.sql.tar.gz
  第三句是将压缩了的数据库文件发送到指定的邮箱.....
  其中的主题:数据库备份 ,就是邮件的主题, 内容:数据库备份,就是邮件的内用,
  /home/website/backups/databackup.sql.tar.gz 为附件
  www@puhost.com为要发送的Email


Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|金光论坛

GMT+8, 2025 年 2 月 3 日 12:55 , Processed in 0.025613 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表