标签归档:备份

异地备份

原来咨询过阿里云的客服,说是每天磁盘都有镜像,我也能看到镜像,所以本来是不考虑再做异地备份了,相信阿里云,相信政府。但有一个瞬间,我觉得异地备份不是一件麻烦的事情,于是今天就做了如下操作

备份

利用现有的条件做备份

  1. 服务器默认安装了SVN,不用白不用
  2. 我默认有SVN服务器,不用白不用
  3. 我需要做的只是使用mysqldump导入wordpress数据库,利用cp拷贝出uploads目录
  4. 然后再svn commit一下,就可以每天生成一个版本

这样做的好处

  • 显而易见,这样做两台服务器都不需要额外安装任何工具,只需要新建一个仓库写一个脚本就完事了,如何腾不出这点时间呢
  • SVN做的是差异备份,这样做比每天一个目录更省空间,你尽可以每天提交一个版本

具体操作

  1. 新建SVN仓库,假设叫backup
  2. svn checkout https://svn.server/backup
  3. 配置/etc/my.cnf,将mysql的用户名密码写到[mysqldump]下
  4. 执行mysqldump wordpress > backup/wordpress.sql
  5. 执行yes|cp -r /path/to/wordpress/wp-content/uploads/ backup/
  6. cd /path/to/backup
  7. svn commit -m “date +”%Y-%m-%d”
  8. crontab -e
  9. 增加一行0 1 * * * /bin/sh /root/backup.sh

这样,每天在凌晨1点的时候,会自动备份数据库和附件的目录到SVN服务器

资源下载

backup.sh下载

恢复Mysql数据

今天由于误操作,需要更换操作系统,然而Mysql的数据并没有做定期的备份,只能拿到数据库原始的格式,需要恢复,大概需要以下几步:

  1. 找到Mysql的data目录
  2. 将wordpress目录(是你要恢复的目录)和ibdata1两个文件拷贝出来
  3. 安装跟原来数据相同版本的Mysql
  4. 将上述两个文件拷贝到新数据库的data目录下
  5. 删除新数据库的ib_logfile0和ib_logfile1两个文件
  6. 重启新数据库
  7. 使用客户端或mysqldump备份数据库成wordpress.sql

恢复有点麻烦,新装的数据也只是用来恢复,并不能正式使用,正式使用最好还是将备份出来的wordpress.sql恢复的一个新的数据库;所以还是要做好定时备份的工作,以防硬盘都坏掉的情况发生

备份方法

backup.bat

@echooff
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"  
c:\path\to\mysqldump wordpress > d:\path\to\dmp\wordpress_%Ymd%.sql  

my.ini设置

[mysqldump]  
user=root  
password=password