WordPress备份及灾难恢复
WordPress 可以说是我看到的最好的博客程序了,安装简便,扩展性强,升级非常方便,无疑是建立个人博客或者小型网站的最佳选择。但是,每一个事物都尤其弱点,即便近乎完美的WordPress也是如此。WordPress最大的弱点就是过多地依赖了数据库,可以说WordPress所有的数据都存放在数据库里,如果数据库一旦崩溃,用户就会遭受毁灭性损失。
不过,我们运气非常好,WordPress选用的数据库是久经考验,功能强大的MySQL。而为了防止服务器出现故障,造成数据丢失,我们只有通过不断地备份自己的数据来弥补WordPress在这方面的不足。
备份方法有很多。
第一招,WP-DBManager,这无疑是最好的选择了,非常的方便,通过该插件,可以优化、修复、备份、恢复数据库,可以有效管理备份文件,删除空表(插件留下的遗物)。说了这么多,最关键的好处是自动备份和自动优化。按照自定义的时间表把数据库备份文件发送到你的email。但是呢,我要说,不是所有人都有福气使用这个插件的,这个插件需要MYSQL Dump和passthru()、system()、exec()等PHP函数的支持。(system函数和exec函数可以执行shell命令,是非常强大的php函数,强大往往是双刃剑,也就意味对安全有一定的威胁,所以有些服务器提供商会禁止调用这样的函数,一了百了,干脆连门都堵了,也省得设立什么门禁了,麻烦,盘古就是这么做的,所以我是无福之人了~~)如果你自己不知道服务器支持不支持,那么装上一试便知,如果它告诉你不能用,那就是不支持了。
第二招,使用PHPMyAdmin,这个就是专门的管理MySQL的一个PHP界面,非常强大,非常不友好(是的,我没写错,真的很不友好,至少我用不来),如何使用这个东西做备份呢,请看这里,看图识字吧XDJM们,我暂时还比较懒,不想去翻译这个文章,遗憾的是文档中文计划里面也没有翻译的,如果你不懂英文,那么请跳过这段吧。通过phpmyadmin,可以将数据备份成一个sql文件,什么是sql文件呢,就是一系列的sql命令,通过这些命令,可以活生生建立一个数据库,而且还是塞满了数据的,猛吧。一半虚拟主机提供商都会提供这个phpmyadmin比较常见的后台如cPanel和DirectAdmin都有这个东西的。
第三招,我最喜欢的其实是这招,就是WP后台“管理”里面的“导出”。这个功能可以将文件导出成xml格式,xml格式可是一个非常美丽的格式,导出的东西用途也非常多,我们仅提一下其备份的用途吧。这个功能随着WP的不断升级已经日趋完善了,今天我实验了一下,竟然连tag也可以完美地导出了(以前导出再导入,tag会全变成数字,非常恶心,现在没有这个问题了),导出的文件包含所有的文章,分类,评论,标签,页面等等一应俱全,然后再用导入,就可以完全重新恢复wordpress的数据了。(似乎没法导出插件生成的数据,比如很多模板和插件都会在数据库里面记下些东西的,如果用这个备份,就都没法保留了,所以这是个只关心数据的备份方法)此方法最大的好处是只通过wp后台就可以实现,不需要任何额外的手段,对于很多BSP上的WordPress博客来说,这是备份数据的很好方法,比如yo2,七十二松,wordpress.com,wordpress.com.cn等等,都是WordPress博客提供商。不过,这个方法的局限性也是非常大的,wordpress导入功能限制了文件的尺寸为2M,也即超过了,就无法导入,如果你的博客字很多的话,可能这个方法备份的文件没法完全导入(大概在100万字那个数量级的吧)。不过,如果按照作者来导出,可以把导出文件变小,今天在Weblog Tools Collection看到,已经有人按耐不住要写一个插件,可以允许按照天导出,按照分类导出等等功能了,那样,基本就无敌了,等着吧大家。
备份,绝对是安全,而且无敌的招数,一旦出错,恢复即可。
我在恢复的方面,只有一点心得(也是从某个网友那里看来的,就在最近,忘了是谁,不好意思,^_^),就是有时候,WordPress不知道出于什么原因,就会运转不正常,我以前碰到过的,比如首页莫名其妙老是运行超时,这个时候,我们往往会重装。重装的时候有个小技巧,大家如果碰到了可以试一试(前提是你有很完备的备份,否则出错了,你就没救了),就是在重装WP,其实不用重新上传,也不用删掉数据库重建,只要把wp_options表删掉就可以了,wp_users表也是可以删掉的,如果没删掉,重装的wordpress就不会给admin生成密码,保留原来密码。期间产生的Warning不要害怕,影响不大。这样的好处是非常省时间,几乎20s就可以完成了(说明毁灭比创造简单),如果效果不佳,再用前文说的备份恢复也不迟。
作者:Charles