Pages

Thursday, 1 March 2012

帝国备份王-备份/恢复mysql数据库的好工具

现在越来越多的人开始选择用wordpress搭建自己的博客,博客建立后,为了防止主机故障或其它原因造成博客上文章丢失,应该定期进行备份。这里说的备份,除了要备份你的网站的所有文件外,还要备份数据库当中的数据。

对于Wordpress的备份大家千万不要掉以轻心,WordPress最大的弱点就是过多地依赖了数据库,可以说WordPress所有的数据都存放在数据库里,如果数据库一旦崩溃,用户就会遭受毁灭性损失。论坛上一些“过来人”的最大感受就是:大家要养成经常备份的好习惯。

备份是必要的,有了备份,即使灾难发生,也可以将损失降到最小。花短短的几分钟时间备份你的数据,消除你的后顾之忧,这样你便拥有更多的时间来思考怎么将网站做得更好。Wordpress备份其实并不复杂,我们也可以做到简单傻瓜化免费备份。

如何利用帝国备份王备份Wordpress数据文件的方法与教程

用帝国备份王的好处主要是安全可靠,特点如下:

1、解决备份大数据问题,采用分组备份,备份稳定高效;

2、解决备份数据编码乱码问题,备份王智能识别编码;

3、解决不同MYSQL版本数据不能互导问题,通过备份王不存在数据版本区别

运行环境:Window/Linux/Unix + PHP
首先下载帝国备份王2010

下载完成后解压

1、将解压后upload 目录中的全部文件和目录上传到服务器

2、把服务器或虚拟主机上以下的文件/目录属性设置为 777

目录文件名称   
说明
bdata     备份目录
bdata/safemod     安全模式下数据备份目录
class/config.php     配置文件
setsave     保存设置目录
setsave/def     默认备份设置文件
zip     压缩包存放目录
tmp     临时文件目录

3. 请在浏览器中运行 index.php,即访问 http://您的域名/安装目录/index.php。

(默认的管理员帐号与密码分别为:admin,123456)


登录后自己修改帐号密码、验证随机码与数据库设置即可完成安装。
一、安装完帝国备份王如何备份DX数据库呢?

进入帝国后台,首先设置你的数据库名等连接,后台有提示,自己看着填写。
下面进入后台点菜单“备份数据”->“选择要备份的数据库”->“选择要备份的数据表”-> 设置好备份选项,点击“开始备份”按钮即可进行备份操作.

最后点击本页最下面的备份数据库就可以了,等备份完了也可以下载到本地,自己选择(默认备份文件放在bdata目录里)
二、恢复数据库

同样进入帝国后台点菜单“恢复数据”-> 选择恢复源目录、数据库 -> 点击“开始恢复”即可进行恢复数据操作。
之后再在你新空间安装帝国备份王,安装方法前面写过了;然后把老空间刚才备份的数据库下载到本地来(要把备份的这个文件夹下载下来,里面都是备份的详细表)。再把这个文件夹上传到你的新空间帝国备份王的bdata目录里.

过程很简单的,你应该没什么问题了吧!
注意:如果是搬家,你在新空间全新安装wordpress的时候不要改数据库的表前缀,要和老空间备份的表前缀相同,要不怕出错!
最后记得把老空间的附件目录、头像目录、插件目录等传到新空间的相应目录就完工啦.
--------------------------------------------------------------
 给网站及其mysql 数据库做备份,发送备份文件到邮箱

 考虑使用email保存备份文件了.因为是使用VPS,那就跟普通的linux没有什么区别,所以就打算写一个bash脚本来备份数据库与页面并且把文件发送email到指定的邮件.因为备份的文件很大(30MB).所以一般的邮箱不一定能支持大附件(起码我试了gmail是不支持的,唉….本人还是gmail的忠实Fans),经测试后知道qq邮箱支持大附件. 所以推荐使用QQ邮箱保存.

系统环境 : Centos 5.5 32位, bash,lampp 1.7.4-linux(MySQL 5.1)

发Email :
用bash发送email需要用到mutt,因为mutt很方便的支持附件.如果没有安装mutt的话可以使用以下命令进行安装

#yum -y install mutt

以下是bash的代码:

#!/bin/sh
DATE=`date +"%Y%m%d_%H%M%S"`

## database setting
DB_USER_NAME=db_user_name
DB_PASSWORD=db_password
DB_NAME=db_name

BACKUP_ROOT=/wp_backup/wp

## 博客页面的Root,apache的根目录
WWW_ROOT=/opt/lampp/htdocs

## www file
BACKUP_WWW_FILE_GZ=$BACKUP_ROOT/www/blog_www_$DATE.sql.tar.gz

## db file
BACKUP_DB_FILE=$BACKUP_ROOT/db/blog_db_$DATE.sql
BACKUP_DB_FILE_GZ=$BACKUP_DB_FILE.tar.gz

mkdir $BACKUP_ROOT/www -p
mkdir $BACKUP_ROOT/db -p

## 备份博客页面
cd $WWW_ROOT
tar zcvf $BACKUP_WWW_FILE_GZ .

## 备份博客数据,使用 mysqldump命令
/opt/lampp/bin/mysqldump -u$DB_USER_NAME -p$DB_PASSWORD $DB_USER_NAME > $BACKUP_DB_FILE
cd /$BACKUP_ROOT/db
tar zcvf $BACKUP_DB_FILE_GZ blog_db_$DATE.sql
rm -f $BACKUP_DB_FILE

## 使用mutt发送email
echo "backup blog" | mutt -a $BACKUP_DB_FILE_GZ -a $BACKUP_WWW_FILE_GZ -s "backup blog in $DATE" ronaldchan2005@qq.com

然后使用cron每天执行一次,
注意 : 邮箱的空间是否足够.