没有100%的安全,所以网站数据库中的数据和程序都需要定期备份。一旦出现意外,好的备份习惯可以将损失降低到最小!下面是对WordPress的备份方法。
首先是数据库备份,数据库备份有下面几种方式
- 如果你使用的是虚拟主机,那么服务提供商一般都会提供每日的mysql数据备份。
- 可以使用phpMyAdmin进行备份,将数据库中的表格dump成一个文本文件,然后下载到你的本地计算机中。
- 使用WP-DB-Backup插件对数据库进行备份,前提是你需要安装另一个插件 WP-Cron。
- 最为稳妥的方式是使用Cron脚本对数据库进行dump然后发送到你的信箱。
下面就是一个Cron脚本,来自这里,做了点小小的改进,使得信件的标题显示备份的日期(要求你的服务器是*unix主机,且安装了mutt,如果没有mutt也可以使用PHP的sendmail函数写一段PHP脚本,有兴趣的可以试试):
#Set the 4 variables
#Replace what is AFTER the = with the information from your wp-config.php file
#That's your information on the right okay ?DBNAME=DB_NAME
DBPASS=DB_PASSWORD
DBUSER=DB_USER
#Keep the " around your address
EMAIL="you@your_email.com"mysqldump --opt -u $DBUSER -p$DBPASS $DBNAME wp_categories wp_comments wp_linkcategories wp_links wp_options wp_post2cat wp_postmeta wp_posts wp_users > backup.sql
gzip backup.sql
DATE=`date +%Y%m%d` ; mv backup.sql.gz backup-$DATE.sql.gz
echo 'Your mySQL Backup is attached' | mutt -a backup-$DATE.sql.gz $EMAIL -s "WordPress MySQL Backup "$DATA
rm backup-$DATE.sql.gz
引用本文请注意:程序中mysqldump后面的是--opt而不是-opt,wordpress默认会把--转化成-,所以请确认你把上面的代码复制到你的blog中显示的结果是正确的。
你需要将DBNAME,DBPASS,DBUSER,EMAIL这些参数更改。另外,如果你的WordPress使用的表格前缀不是wp_的话,请修改脚本。
然后,你可以使用crontab来定时调用这个程序(比如说每天凌晨时调用),将压缩的数据库dump文件发送到你的信箱里面。
其次是WordPress的程序备份。Windows用户可以使用SyncBack Free来进行备份,也可以使用FTP工具进行定期手动备份。
评论