前言

因为隔壁主机10天前炸了,我就赶紧萌生了忧患意识,把博客抓紧时间都备份了一下,然后搬到了阿里云并且做了备案,现在看是相当明智的……因为他们家主机第二次炸了。
在这次做博客的过程中,无意看到了Handsome主题,觉得非常好看,于是立马下单并且跳坑了Typecho,结果上来就是一堆破事,折腾了两天。接下来把相关的博客搬家和博文整理的一些心得发一下。
感觉我的这种例子也挺少见的。

服务器选择与配置

我用的是阿里云轻量应用服务器,配置是这样的:

阿里云轻量应用服务器

初始化选的以前就比较熟的宝塔面板,装上一键部署插件,申请的阿里云旗下的万网域名,一路下来都很方便,也比较简单。
但是CDN和OSS存储的部署方面感觉遇到了很多麻烦,也不知道怎么办比较好,可能是和主题设置有关系,找时间问一下作者。
安装博客后用宝塔面板传好插件和主题,然后启动就可以了。

博客搬运

这就是个比较大的麻烦了,昨天就是折腾这个搞了一天。
首先,我的原博客是Wordpress框架的,而且那边主机也炸了,我这边只有一个本地的1G左右大小的备份。
于是我就创建了一个二级域名(当时折腾了好几次,包括temp和blog开头的二级域名,暂且以最后用的temp.*.top为例)开了wp,然后把备份导进去,下载了备份用的插件All in one WP migration
但是这玩意的最新版(7.5?)是不支持512M(最早是10M)以上文件的备份的,因此我在网上找了好半天,后来发现一个版本:

All in one WP migration 6.77

这个插件可以通过修改代码改变备份使用的文件上限。

参考:修改代码改变备份上限

在修改完代码后就可以使用我这个1G左右的备份包了。【/usr/a1owpmbackups】(名称可能不准,总之要上传到这个文件夹)
二级域名站点temp.
.top恢复备份以后,用宝塔面板把网站根目录的index.php删除(相当于禁用wp),然后再解压typecho的安装包,就会得到一大堆乱七八糟的东西(记得把build拖回根目录),同时要记得把typecho的index.php放在网站根目录下,方便数据包绑定。
然后在宝塔面板建一个数据库,用于绑定temp.*.top。
再打开二级域名的主页,安装typecho。
然后再将下面这个插件用宝塔面板拖到插件文件夹里面【temp./usr/plugins】

WP→Typecho转换插件

然后启用插件,再设置一下原始wp相关数据库的信息,就可以搬家了。
搬好以后,你就可以看到自己的宝贝都已经回来了,只不过她们都已经面目全非。

博客数据整理

数据库是搬到typecho了,但是博文内的图片数据还是绑定的wp目录下的内容,你没法把wp旧文件就这么删掉。
因此首先你需要搬一下图片资源的地址:
将temp./wp-content/uploads/下的文件夹用面板剪切到temp./usr/uploads/
然后,可以用宝塔自带的phpmyadmin,指向temp-typecho_contents的数据库,再通过替换工具将目录字符串按照上面写的进行替换。
同样的方法也适用于将二级域名迁回顶级域名的过程,后面会介绍。

二级数据回迁顶级域名

因为遇到了重定向,cdn方面的问题,我决定把temp.删除,重新在顶级域名上开设。
首先通过typecho的自带工具备份二级域名的dat。
然后上传到顶级域名目录的/usr/backups里面。
然后再恢复备份。
这样就可以在顶级域名看到之前的博文数据。
然后再采用同样的方法,将**temp.
/wp-content/uploads/下的文件夹用面板剪切到*/usr/uploads/**
用宝塔数据库编辑器将字符串替换~
然后博文数据就回到顶级域名了。

博文格式整理

因为之前的博文是Wordpress html的格式导入typecho的,所以打出来的内容非常头疼:
比如:

<!-- wp:paragraph --> <p><em>堂堂EA当年也搞小偶像</em></p> <!-- /wp:paragraph
-->
<!-- wp:paragraph -->
<p>我想做一个滑雪美少女的盘点文章→PS2 SSX系列→一个香织小姐的背景介绍就是5分钟→好吧我开个专题介绍一下小姐姐
(雾)</p>

因此肯定是需要对文本进行整理的,我考虑了很多乱七八糟的方法,包括下了node,装了个本地插件转换格式等等。
但是最后我觉得按照下面步骤整理比较合适:

  1. 复制原文文本
  2. 粘贴到html-markdown转换工具中,转换文本再复制
  3. 在本地文本编辑器中粘贴,这里推荐EditPlus等
  4. 根据wordpress赘余语句的规律分析相关正则表达式,并且进行删除。
  5. 粘贴回原生编辑器并通过发表查看效果,寻找问题修改

这里我也归纳了一些乱七八糟的正则表达式以供参考:
删除所有含指定字符(xyz)的行:

^.*xyz.*
^.*xyz.*\r?\n

删除所有含指定字符(xyz)的括号(三角括号):
\<*xyz.*>

[这个含xyz的包含式会误伤含图片的markdown代码]

删除所有指定括号及其内部文字(三角括号):
\<.*\>

其实我也想尝试用脚本处理的,但还是一篇一篇整理比较舒服,就一篇一篇弄吧……

总结

以下是本次博客搬迁的相关过程:

  1. 选定服务商,做好准备工作
  2. 建立顶级域名和二级域名(我是处于谨慎在二级域名先搬过去试试效果,现在看直接在顶级域名操作也是没问题的)
  3. 通过一键部署在二级域名部署wp,并通过修改插件上传并恢复备份
  4. 二级域名wp转typecho,包括安装插件,文件夹移动和数据库操作
  5. 二级域名回迁顶级域名,进行同上操作
  6. 博文格式整理(主要利用本地编辑器正则表达式检索替换)

后记

因为老主机的域名恢复了,所以尝试了一下新的博客文本整理思路,感觉比之前的编辑器整理方便太多太多……
这里我安装了wp插件:WP Githuber MD,它自带将古登堡编辑器格式,也就是本次格式乱七八糟的罪魁祸首转换为Markdown格式的功能,这样我就只需要复制粘贴,再删除开头唯一一个多余的标签就可以解决问题了。